ARIA
Attributes that describe roles, states, and relationships to assistive technology when HTML cannot.
ARIA is a specification of attributes that convey an element's role, state, and relationships to assistive technology. It exists to describe interface patterns that HTML has no element for — a tab set, a combobox, a live region.
Its first rule is the one most worth remembering: do not use ARIA if a native element will do. A native button already has the role, the keyboard behaviour, and the states. Applying a role to a generic element declares a contract that the element does not fulfil — announcing "button" to a screen reader while doing nothing on Enter is worse than the unlabelled original.
Practical hazards accumulate around the details. Some attributes are computed by the browser and must not be supplied by hand, while their siblings must be. An accessible name derived from a related element outranks a directly supplied label, so a menu can end up announcing its trigger's text instead of its own — and clearing that requires explicitly passing nothing, not simply omitting it. Hiding content outside a modal can be done by marking it hidden from the accessibility tree or by making it truly inert; those are different, and only one of them stops pointer events, which produces a very specific class of bug where clicks land on elements a screen reader cannot see.
See also5
Hand-picked in the note itself — the neighbours worth reading next.
Accessibility
Designing so that people with disabilities can use a thing, and the standards that make it checkable.
Design & Interface20 connections
Semantic HTML
Using elements for their meaning, so the document conveys structure without extra description.
Design & Interface12 connections
Headless Component
A component supplying behaviour and accessibility with no styling of its own.
Design & Interface13 connections
Focus Trap
Confining keyboard focus inside a modal surface so it cannot wander behind it.
Design & Interface10 connections
Portal
Rendering an element into a different part of the document than its logical parent.
Web Platform14 connections
Related4
Nearby in the graph rather than deliberately chosen. Looser, sometimes surprising.
Linked from9
Notes elsewhere in the wiki that reach for this one.
- AccessibilityDesign & Interface
Designing so that people with disabilities can use a thing, and the standards that make it checkable.
- Focus ManagementDesign & Interface
Deliberately controlling which element receives keyboard focus as an interface changes.
- Focus TrapDesign & Interface
Confining keyboard focus inside a modal surface so it cannot wander behind it.
- Headless ComponentDesign & Interface
A component supplying behaviour and accessibility with no styling of its own.
- Keyboard NavigationDesign & Interface
Making every interactive affordance reachable and operable without a pointer.
- PortalWeb Platform
Rendering an element into a different part of the document than its logical parent.
- Semantic HTMLDesign & Interface
Using elements for their meaning, so the document conveys structure without extra description.
- Stacking ContextDesign & Interface
The nested coordinate system that decides what paints above what, and why z-index often does nothing.
- UI PrimitiveDesign & Interface
The small set of typed components through which all interface markup is expressed.