Critical
4.1.2 Name, Role, Value · Level A
Provide required ARIA attributes (WCAG 4.1.2)
An element with an ARIA role must include every attribute that role requires (e.g. a role="checkbox" needs aria-checked).
Why it matters
A custom widget missing its required state exposes an incomplete contract to assistive tech, so it's announced wrong or not operable.
How to fix it
Prefer native HTML elements, which come with roles and states for free. If you must use ARIA, supply every required attribute and keep it in sync with state.
<!-- Prefer native -->
<input type="checkbox" id="agree">
<!-- If custom, include required attrs -->
<div role="checkbox" aria-checked="false" tabindex="0">Agree</div>
Related guides
- Fix low colour contrast (WCAG 1.4.3) 1.4.3 Contrast (Minimum)
- Add text alternatives to images (WCAG 1.1.1) 1.1.1 Non-text Content
- Give links a discernible name (WCAG 2.4.4) 2.4.4 Link Purpose / 4.1.2 Name, Role, Value
- Give buttons a discernible name (WCAG 4.1.2) 4.1.2 Name, Role, Value
These guides cover automated checks (~30–40% of WCAG criteria). A full audit also needs manual review.