- Success Criterion 4.1.2
- Conformance level A
Control Announcing a State That Contradicts Its Real Behavior
4.1.2 — Name, Role, Value
Scenario
Setting
A coworking-space booking app
What’s wrong
A control announces a false state that contradicts its actual behavior. 'read-only' on an interactive combobox, 'collapsed' while visibly expanded, 'disabled' while fully active, so assistive technology users skip or mistrust working controls.
Example
<input type="text" role="combobox" aria-readonly="true" aria-expanded="true" placeholder="Search desks">
<!-- aria-readonly="true" tells assistive tech the field only accepts selection, not typed text,
but typing here actively filters the desk list --> Why it matters
A screen reader user is told the field is read-only and may stop typing, missing the live filtering that finds the desk they want.
How to test
Compare the control's announced state to its actual behavior with a screen reader: 'read-only' announced on a working combobox, or 'collapsed' while visibly expanded, is a false state and fails.
How to fix
Only set aria-readonly="true" on fields that genuinely reject typed input; test every state against real behavior.
<input type="text" role="combobox" aria-readonly="false" aria-expanded="true" placeholder="Search desks"> Outcome
A member types a desk number and watches, and hears, the matching results filter live.
Who is affected
Screen reader users searching for an available desk are wrongly told they cannot type into a field that actually filters as they type.
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