- Success Criterion 4.1.2
- Conformance level A
Accessible Name Computed as Meaningless Icon or Code Text
4.1.2 — Name, Role, Value
Scenario
Setting
A telehealth app's video-visit waiting room
What’s wrong
Names computed as junk: icon ligature text (". "), SVG path noise, or "button button".
Example
<button class="mic-btn"><i class="material-icons">mic</i></button>
<button class="cam-btn" aria-label="button"><span class="icon-camera"></span></button>
<!-- the icon font ligature "mic" becomes the first button's accessible name;
the second button's aria-label is the meaningless word "button" --> Why it matters
A patient joining a video visit hears "mic, button" or just "button, button" and cannot tell mute from camera.
How to test
Check the computed accessible name in DevTools: if it's junk (icon-font ligature characters, raw SVG path text, or duplicated words like 'button button'), it fails.
How to fix
Hide the icon glyph from assistive tech with aria-hidden and give the button its own real aria-label.
<button class="mic-btn" aria-label="Mute microphone"><i class="material-icons" aria-hidden="true">mic</i></button>
<button class="cam-btn" aria-label="Turn off camera"><span class="icon-camera" aria-hidden="true"></span></button> Outcome
A patient mutes their microphone before the doctor joins, guided by a clear spoken label.
Who is affected
Screen reader users joining a telehealth appointment cannot identify the mute or camera controls before it starts.
Learn more
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Custom Dropdown or Slider With No Accessibility API Support
- Content Changes That Never Update Their Accessible Name
- Scripted Link or Button With No Real Role or Keyboard Support
- Clickable Div Turned Into a Control but Given No ARIA Role
- Form Field With No Programmatic Label at All
- Assistive Technology Never Told Which Element Currently Has Focus