4.1.2 keeps custom components honest: assistive technology cannot operate what it cannot name. Every control needs an accessible name, a programmatic role, and states that update live. It is Level A, and it is where bespoke date-pickers, toggles, and mega-menus break — the DOM looks right while the accessibility tree is empty.
UI components must expose their name, role, state and value to assistive technology. Level A — the criterion custom widgets most often break.
Prefer semantic HTML; when you must go custom, ARIA roles and states are part of the component contract, not an afterthought.
axe ruleset detection in the audit run — missing accessible names and misused roles surface as findings.
Last reviewed 2026-11-01.
Reading up on WCAG 4.1.2 — Name, role, value? The engine verifies this surface from the perimeter — live on sovereign EU/UK partitions.