Skip to main content

Structure

Emoji used as bullets or icons

WCAG 2.2 success criterion 1.3.1 Info and Relationships (Level A)

WCAG 2.2
1.3.1 Info and Relationships
Level
A
Default severity
Tip
Available in
Free

Why it matters

Screen readers read an emoji by its full name, so a row of ✅ bullets becomes "white heavy check mark, free shipping, white heavy check mark, 30-day returns" — and the lines are not announced as a list, so the item count is lost. A link or button whose only text is an emoji is named after the picture ("speech balloon"), not after what it does.

Who it affects: Screen reader users, who rely on real lists and paragraphs to hear how content is grouped and how many items there are.

What Lumtera flags

Paragraphs where two or more lines (split by line breaks) start with an emoji followed by text; two or more paragraphs in a row that each start with an emoji; and links or buttons whose only text is emoji and that have no aria-label or aria-labelledby. Lines starting with ordinary bullet characters such as • are left to the "Text is formatted as a list by hand" check.

Check ID emoji-as-icon — use it to filter the content report or with wp lumtera issues --rule.

How to fix it in WordPress

For lines that start with an emoji, use a List block instead, so the lines are announced as a list; drop the emoji or keep it at the end of the line. For a link or button that shows only an emoji, add text that says what it does (it can be visually hidden), or an aria-label such as aria-label="Share on WhatsApp".

Example

Flagged
<p>✅ Free shipping</p>
<p>✅ 30-day returns</p>
<a href="https://wa.me/?text=…">💬</a>
Fixed
<ul>
  <li>Free shipping</li>
  <li>30-day returns</li>
</ul>
<a href="https://wa.me/?text=…" aria-label="Share on WhatsApp">💬</a>

How to check your fix

  1. Update the post. The issue disappears from the Accessibility sidebar on the next check, and from the site report on the next scan.
  2. With a screen reader, move to the list. It should announce "list, 3 items" (or similar) before the first item.

Find this issue across your whole site

Lumtera runs this check in the block editor sidebar as you write, in the Elementor panel, in Review mode on the live page, and across the whole site in the content report and with wp lumtera scan. You can change its severity or turn it off in Accessibility → Settings.

All checks

Start with the free plugin today

All 64 checks, the editor sidebar, Elementor panel and site report — free, with no account and no page limits.