aria-checked-state-mismatch
Native checkbox/radio aria-checked should match its actual state
Flags a native <input type="checkbox">/<input type="radio"> whose explicit aria-checked value disagrees with its actual checked/indeterminate state, for manual review.
Applies to. Native <input type="checkbox"> / <input type="radio"> elements that carry an explicit aria-checked attribute.
Expectation. aria-checked is redundant on a native checkbox/radio (the role's checked state is already exposed natively), but when an author sets it explicitly it should agree with the element's actual state, otherwise assistive technology is told something different from what a sighted user perceives.
What a finding reports.
ariaChecked: the statearia-checkedannounces:true,false, ormixed(a checkbox only). A value that is not one of these counts asfalse.actualState: the state the control is really in:true,false, ormixedfor an indeterminate checkbox.type:checkboxorradio.
These data.details fields help to read and reproduce a finding. Apart from reasonCode and the few fields Output schema names as stable, they are not a stable contract: a field may be renamed or dropped in a minor release, so don’t build on them.
Examples
<input type="checkbox" checked aria-checked="true">
aria-checked matches the control's real checked state.
<input type="checkbox" checked aria-checked="false">
The checkbox is actually checked, but aria-checked="false" tells assistive technology the opposite.
How to check
When this rule can’t decide, it reports cantTell and leaves the question to a person. Each question it can ask is listed here under its reason code, with the steps to answer it. A finding carries the same steps as howToCheck, in the scan’s language. See Output schema.
ARIA_CHECKED_STATE_MISMATCH
- Wait until the page has fully loaded, then find the checkbox or radio button the report names and note whether it looks checked.
- Open the Accessibility pane and read its checked state.
- Click it, or press Space, and check that both the look and the state in the Accessibility pane change together, or listen with a screen reader.
Pass. The state assistive technology reports matches what the control shows, before and after it is changed.
Fail. Assistive technology reports a different state from the one shown, which fails WCAG 4.1.2.