SymbolFYI

Screen Reader

Accessibility
Définition

Assistive technology that reads text and UI elements aloud. Unicode character names are used for symbol pronunciation.

Screen Readers and Unicode Symbols

A screen reader is assistive technology that converts on-screen text and interface elements into synthesized speech or Braille output. For users who are blind, have low vision, or have reading disabilities, screen readers are often the primary means of accessing digital content. Understanding how screen readers handle Unicode symbols is essential for building accessible web applications.

How Screen Readers Process Unicode

Screen readers rely on a combination of the operating system's accessibility APIs, the browser's accessibility tree, and built-in pronunciation dictionaries to determine how to announce characters. The process is roughly:

  1. The browser parses HTML and builds a DOM
  2. The accessibility tree is constructed from the DOM
  3. The screen reader reads nodes from the accessibility tree
  4. Text is passed to a speech synthesizer, which uses pronunciation rules and dictionaries

For standard Latin characters, this pipeline works seamlessly. For Unicode symbols, behavior varies significantly.

Symbol Announcement Behavior

Common Symbols with Standard Pronunciations

Many frequently used symbols have well-established pronunciations across screen readers:

  • © → "copyright sign"
  • ® → "registered sign"
  • → "trade mark sign"
  • & → "ampersand"
  • % → "percent"

Emoji

Modern screen readers generally announce emoji using their official Unicode names. The emoji 😀 is announced as "grinning face" and 🔥 as "fire." However, sequences of emoji can become verbose—a string of five flag emoji may take several seconds to read aloud.

Mathematical and Technical Symbols

Mathematical notation is particularly challenging. The expression ∑(xᵢ) may be read character by character as "n-ary summation, left parenthesis, x, subscript i..." which is difficult to follow. MathML is the preferred format for mathematical content, as it provides semantic structure that screen readers can interpret more naturally.

Decorative and Ambiguous Symbols

Symbols like ✓, ★, →, and ◆ have inconsistent support. Some screen readers skip them entirely; others announce the Unicode character name verbatim, which can be verbose or confusing.

Screen Reader Comparison

Screen Reader Platform Emoji Support Symbol Verbosity Control
NVDA Windows Good Via verbosity settings
JAWS Windows Good Via verbosity settings
VoiceOver macOS/iOS Excellent Via verbosity settings
TalkBack Android Good Limited
Narrator Windows Moderate Via verbosity settings

Developer Best Practices

Control how symbols are announced using ARIA:

<!-- Override the announced text for a symbol -->
<span role="img" aria-label="Checkmark, task complete"></span>

<!-- Hide a decorative symbol entirely -->
<span aria-hidden="true"></span>

<!-- Provide context for ambiguous symbols -->
<span aria-label="4 out of 5 stars">★★★★☆</span>

For mathematical content, prefer MathML over Unicode approximations:

<math>
  <msup><mi>x</mi><mn>2</mn></msup>
</math>

Testing Recommendations

Test with at least two screen readers across platforms. Key scenarios to verify include: symbol-only buttons, emoji in headings, mathematical expressions, and long sequences of symbols. Users can adjust verbosity settings, so test at both high and low verbosity to ensure content remains understandable.

Symboles associés

Termes associés

Outils associés

Guides associés