4.1 Compatible · Robust
WCAG 4.1.2 Name, Role, Value
Level A
For all UI components, the name, role, and (when applicable) state and value must be programmatically determinable, and changes must be communicated to assistive tech.
Common failures
- Custom toggle controls have no `role` and no `aria-pressed` / `aria-checked`.
- Tab panels don't announce active state changes.
- Modal triggers don't update `aria-expanded` when the modal opens.
How to fix
- Use native interactive elements wherever they exist.
- For custom widgets, follow the WAI-ARIA Authoring Practices for the widget's role.
- Update ARIA state attributes (`aria-expanded`, `aria-checked`) on interaction.
Related criteria
- WCAG 1.3.1 Info and Relationships Level A
- WCAG 2.5.3 Label in Name Level A
- WCAG 4.1.3 Status Messages Level AA