In plain language
User interface components must expose an accessible name, role, and current value or state that assistive technologies can determine and update.
Who it affects
Screen-reader and voice-control users who can operate only what the accessibility tree exposes.
How to check
With a screen reader, land on every control: it must announce a sensible name, the right type, and its state (checked, expanded, selected) — and updates when the state changes. Worked example — A weather app's forecast screen: inspect ARIA attributes in DevTools' Accessibility panel for warnings: invalid or unsupported role/attribute combinations fail.
Common misconception
A div styled to look exactly like a checkbox is invisible to this rule unless it also has the checkbox role and a live checked state, visual similarity means nothing to assistive technology. Real example: on a food delivery app's restaurant menu, a custom-built control (dropdown, slider, dialog) doesn't tell assistive technology what it is or what state it's in, because it skips the standard accessibility hooks.