For AI agents and LLMs: a machine-readable index is available at llms.txt. A plain-Markdown version of any documentation page is available by appending .md to its URL.
Skip to main content

Emoji or Symbol Used in Accessibility Label

Accessible labels should rely on descriptive text rather than emoji or symbols, which VoiceOver announces inconsistently.

WCAG Reference

Maps to: Best Practice (Accessibility Label Quality) — no specific WCAG success criterion

What this rule checks

The scanner examines whether a visible, interactive element's accessible label is made up mostly of emoji, arrows, geometric shapes, or other special symbols instead of descriptive text. A violation is reported when half or more of the label's meaningful characters are emoji or symbols. Whitespace is ignored, and ordinary punctuation is not counted as a symbol. Static (non-interactive) text is not checked.

Why it matters

VoiceOver announces emoji and symbols by their Unicode names, which are verbose and inconsistent across iOS versions and voices. A button labelled with a right arrow may be read as "rightwards arrow", which says nothing about what it does. A label of three fire emoji produces "fire fire fire": noise, not meaning. A user relying on the spoken label gets no usable information about the control's purpose, and Voice Control users cannot speak the label at all.

Common failure patterns

  • icon-only buttons whose label is the emoji itself: a heart, an arrow, a star
  • decorative symbols concatenated into the accessible name alongside little or no text
  • rating displays labelled with filled and empty star characters rather than "3 out of 5 stars"

Remediation guidance

  1. Determine intent: is the symbol functional (it represents an action) or decorative?
  2. Replace with text: change a heart glyph to "Add to favourites", an arrow glyph to "Next page".
  3. Hide decorative glyphs: if the symbol is visual flair only, exclude it from the accessibility tree with isAccessibilityElement = false or .accessibilityHidden(true).
  4. For values better expressed numerically, set accessibilityValue ("3 out of 5") rather than repeating glyphs.

Test across 3000+ combinations of browsers, real devices & OS.

×
Schedule Your Personal Demo
Book Demo

Help and Support

Related Articles