ARIA Attributes Reference

Every aria-* attribute with value type, allowed roles and state vs property flag

Searchable reference for all WAI-ARIA 1.2 state and property attributes — with value type, default, global flag, and whether each is a dynamic state or a static property.

What is the difference between an ARIA state and a property?

A state is expected to change as the user interacts — aria-checked, aria-expanded, aria-pressed flip values in response to clicks. A property is generally set once and rarely changes, such as aria-label or aria-haspopup. Both are written the same way; the distinction is about lifecycle, and assistive technology may treat dynamic state changes as live updates.

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 typetrue/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 like disabled.
  • 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.