• 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