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 screen readers announce inconsistently.

WCAG Reference

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

What this rule checks

The scanner flags interactive elements whose accessible label is made up mostly or entirely of emoji, arrows, geometric shapes, or other special symbols instead of descriptive text. A label is flagged when half or more of its meaningful characters are emoji or symbols. Ordinary punctuation is acceptable; static (non-interactive) text is not checked.

Why it matters

Screen readers announce emoji and symbols by their Unicode names, which are often verbose, ambiguous, or inconsistent across devices and screen reader versions. A button labeled "→" may be read as "rightwards arrow" — which says nothing about what the button does. A label like "🔥🔥🔥" produces "fire fire fire": noise, not meaning. Users who rely on the spoken label get no usable information about the control's purpose.

Common failure patterns

  • icon-only buttons labeled with the emoji itself ("❤️", "★", "✓") instead of an action description
  • decorative symbols included in the accessible name alongside little or no text

Remediation guidance

  • determine intent — check whether the emoji is functional (represents an action) or decorative
  • replace functional emoji with a descriptive verb, e.g. change "❤️" to "Add to Favorites"
  • hide decorative icons from the focus order instead of labeling them — set android:importantForAccessibility="no"

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

×
Schedule Your Personal Demo
Book Demo

Help and Support

Related Articles