WAI-ARIA splits its aria-* attributes into two groups: states, which change
as the user interacts, and properties, which are usually set once. Both carry
a defined value type, and some are global — valid on any element. This is a
searchable offline reference for every standard attribute.
How it works
Each attribute is listed with four facts that decide whether your markup is valid:
- Value type —
true/false, a tristate (true/false/mixed), an enumerated token, an integer or number, an id reference / id reference list, or a free string. Out-of-range values are ignored by assistive technology. - State vs property — states (
aria-checked,aria-expanded) are expected to change during use; properties (aria-label,aria-haspopup) generally do not. - Global — global attributes apply to every element regardless of role
(
aria-label,aria-hidden,aria-live); non-global ones are only valid on roles that support them. - Default — the implicit value when the attribute is absent or empty.
Example
aria-checked is a tristate state. On a role="checkbox" it must be present and
set to true, false, or mixed. By contrast aria-label is a global string
property — valid anywhere a name is permitted, and never changing on its own.
Notes
- Boolean ARIA attributes take the strings
"true"/"false", not the presence/absence pattern of HTML boolean attributes likedisabled. aria-hidden="true"removes an element and its subtree from the accessibility tree — never put it on a focusable element.- This reference lists the standard attributes; per-role required and supported sets are covered in the ARIA Role Reference.