Zero Signup ToolsFree browser tools

Developer Tools

ARIA Roles Reference

Searchable WAI-ARIA 1.2 role reference with implicit HTML mappings, required states, parent roles, and copy-ready HTML examples.

Filter

Widget

button

A clickable control that triggers an action.

Prefer <button>. If you must use a non-button element, you also have to add tabindex="0" and key handlers for Enter and Space.

Example

<button type="button">Save</button>
Implicit on HTML
  • <button>
  • <input type="button">
  • <input type="submit">
  • <input type="reset">
Required parent role
None
Required states and properties
None
Other supported states
  • aria-pressed
  • aria-expanded
  • aria-disabled
  • aria-haspopup
  • aria-label

Children of this role are presentational. Avoid making child elements separately accessible.

Browse 90 roles

Click a card for details

Landmark

Top-level page regions that screen reader users navigate between.

Widget

Interactive controls users operate: buttons, menus, sliders, tabs.

Document structure

Document parts that describe content organization without interaction.

Live region

Regions that announce changes to assistive tech as content updates.

Window

Roles that act like sub-windows of the primary document.

Abstract

Used by the ARIA spec to organize the role taxonomy. Do not write these in HTML.

ARIA role categories

  • Landmark

    Top-level page regions that screen reader users navigate between.

  • Widget

    Interactive controls users operate: buttons, menus, sliders, tabs.

  • Document structure

    Document parts that describe content organization without interaction.

  • Live region

    Regions that announce changes to assistive tech as content updates.

  • Window

    Roles that act like sub-windows of the primary document.

  • Abstract

    Used by the ARIA spec to organize the role taxonomy. Do not write these in HTML.

Reference based on the WAI-ARIA 1.2 specification published by the W3C. Roles, states, and properties shown here mirror the author-facing portion of the spec. When a native HTML element already implies the right role, the First Rule of ARIA Use recommends the native element over an explicit role attribute.

How to use

  1. Type a role name, purpose word, or aria-* property in the search box. The catalog filters live as you type.
  2. Click a category filter (Landmark, Widget, Document structure, Live region, Window, or Abstract) to narrow the catalog to one family of roles.
  3. Click a role card in the grid below to load its detail panel: required states, native HTML mappings, parent role, supported aria-* properties, and a copy-ready example.
  4. Use Copy role to grab the bare identifier, Copy role= to grab the role attribute string, or Copy example to grab the full HTML snippet.
  5. Watch the Implicit on HTML row: if a native element produces the role for free, prefer that element over a role attribute on a generic div or span.

About this tool

ARIA Roles Reference is a searchable, copy-ready catalog of every author-facing role defined in the WAI-ARIA 1.2 specification. Each role card shows the role identifier exactly as it appears in the role attribute, a one-line purpose, a longer guidance note covering common misuses and browser behavior, the native HTML elements that already imply the role (so you can follow the First Rule of ARIA Use and prefer the native element), any required parent role for nesting, the states and properties that must be set when using the role, other commonly used aria-* attributes, and a short HTML usage example you can copy directly into your code. Roles are grouped by the categories the spec uses: landmark roles for top-level page regions like main and navigation; widget roles for interactive controls like button, checkbox, listbox, slider, and tab; document structure roles for non-interactive content like article, list, heading, and table; live region roles for status messages and alerts; the dialog window role; and the abstract roles that exist only to organize the taxonomy and must never be written by hand. Search matches role names, purpose summaries, required and supported aria-* properties, parent role names, and category labels, so queries like aria-expanded, landmark, listbox, or dialog all find the right cards. Copy buttons hand you the role identifier, the full role attribute string, or the HTML example. Everything ships at build time and runs entirely in your browser, with no upload, no signup, and no external lookups. Useful when writing custom widgets that need correct keyboard and screen reader semantics, when reviewing pull requests that touch accessibility, when auditing a page with the browser accessibility inspector, or when learning ARIA without bouncing between tabs to the W3C spec.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsDeveloper Tools