Skip to content
Toolcroft

ARIA Role & Landmark Reference - Accessibility Attribute Guide

Developer Tools

Browse 66 WAI-ARIA roles with HTML examples, required attributes, and source links. Search or filter by Landmark, Widget, Document, Live region, or Window.

Role requirements follow WAI-ARIA 1.2. Common supported attributes are a curated subset, not a complete list; use the linked MDN role page as the current reference. ARIA markup shows semantics only; interactive custom controls still need their keyboard and focus behavior.

66 roles

Text size:

How to use this tool

  1. Search by role name or description, or choose Landmark, Widget, Document, Live region, or Window.
  2. Expand a role to review its HTML equivalent, required attributes, name-from hint, and references.
  3. Copy the displayed preferred HTML or ARIA example with its Copy snippet button.

What is ARIA?

ARIA (Accessible Rich Internet Applications) is a set of HTML attributes defined by the W3C that communicate semantic meaning to assistive technologies like screen readers. ARIA fills the gap where native HTML elements lack sufficient semantic information.

ARIA role categories

CategoryExamplesPurpose
Landmarkbanner, navigation, main, contentinfoPage regions for screen reader navigation
Widgetbutton, slider, tab, grid, treeInteractive controls and composite widgets
Documentheading, list, table, imgContent organization
Live regionalert, status, log, timerDynamic content updates
Windowdialog, alertdialogDialogs that separate a focused task

The role browser keeps these categories filterable and includes selected commonly used roles; abstract roles are omitted because authors should not assign them. Expanded role cards show curated required attributes from WAI-ARIA 1.2 and a short supported-attribute subset. Attribute support varies by role, so use the linked MDN page for the complete, current reference.

The ARIA golden rule

Use native HTML elements whenever possible. ARIA's first rule is: don't use ARIA if a native HTML element or attribute already provides the needed semantic. A <button> already has button semantics and keyboard behavior, so do not add a redundant role="button". The same principle applies to <main>, <nav>, <article>, and native list and form controls.

ARIA states and properties

Beyond roles, ARIA provides two categories of attributes:

  • States (dynamic, can change): aria-checked, aria-disabled, aria-expanded, aria-selected, aria-hidden, aria-pressed.
  • Properties (stable, describe characteristics): aria-label, aria-labelledby, aria-describedby, aria-required, aria-live, aria-controls, aria-owns.

Common ARIA patterns

PatternKey roles/attributesNotes
Modal dialogrole="dialog", aria-modal="true", aria-labelledbyFocus must be trapped inside the dialog while open
Tab panelrole="tablist", role="tab", role="tabpanel", aria-selectedArrow keys navigate between tabs
Accordionaria-expanded on the trigger buttonContent panel is conditionally rendered or hidden
Live alertrole="alert"Screen readers announce content immediately; use sparingly
Status messagerole="status", aria-live="polite"Announces after current speech completes
Comboboxrole="combobox", aria-autocomplete, aria-expandedComplex pattern; follow ARIA 1.2 authoring practices carefully
Tooltiprole="tooltip", aria-describedbyMust be keyboard-accessible; shown on focus, not just hover

Testing ARIA

  • Screen readers: Test with NVDA + Firefox (Windows), VoiceOver + Safari (macOS/iOS), and TalkBack (Android). Each has quirks; testing across platforms is important.
  • Automated tools: axe DevTools browser extension catches ~30–40% of accessibility issues automatically. Google Lighthouse also includes an accessibility audit.
  • Keyboard navigation: Tab through your entire interface without a mouse. Every interactive element must be reachable and operable by keyboard alone.

Frequently asked questions

When should I use ARIA roles?

Use ARIA roles when native HTML semantics are insufficient. Always prefer native HTML elements (button, nav, main, etc.) before adding role attributes.

What is a landmark role?

Landmark roles define regions of a page (banner, main, navigation, etc.). They allow screen reader users to jump directly to key sections.

Browse all developer tools