Skip to content

ARIA Role Reference

Interactive ARIA roles and attributes reference with usage examples, required properties, and browser support. Free accessibility guide.

Showing 68 of 68 roles

Widget Roles(31)

Interactive UI elements like buttons, checkboxes, sliders, and dialogs

Document Structure Roles(21)

Structural elements for organizing content like headings, lists, and tables

Landmark Roles(8)

Major page sections that help assistive technology navigate the page

Live Region Roles(6)

Regions that dynamically update and can announce changes to screen readers

Window / Application Roles(2)

Application-level roles for complex interactive widgets

About ARIA Role Reference

Comprehensive reference for WAI-ARIA roles covering 68 roles across 5 categories: Widget, Document Structure, Landmark, Live Region, and Window roles. Each entry includes required/supported attributes, HTML equivalents, and copy-ready code examples. Based on the WAI-ARIA 1.2 specification.

How to Use ARIA Role Reference

1

Search by role or scenario

Look up a specific role like tab or dialog, or describe the scenario in plain language such as making a modal accessible. The reference picks up either form and surfaces the relevant entries.

2

View the role details

Each entry covers the role name and purpose, the attributes that are strictly required, the related properties and states that frequently accompany it, and short examples showing the markup in context.

3

Apply the pattern to your code

Drop the appropriate roles and attributes into your HTML where they fit, keeping the native element when one exists. Verify behavior afterwards by running through the component with a real screen reader.

4

Reference the comprehensive guide

For composite widgets like grids, comboboxes, and treeviews, consult the WAI-ARIA Authoring Practices Guide. The reference here covers the basics, while the APG remains the definitive resource for keyboard interaction and detailed patterns.

When to Use ARIA Role Reference

Web accessibility implementation

ARIA attributes describe roles, properties, and states to screen readers and other assistive tech. Developers building components that go beyond native HTML rely on this reference to find the right role plus its required attributes without paging through the full specification.

Custom widget accessibility

Modals, tabs, accordions, and dropdowns are invisible as structured widgets unless ARIA tells assistive tech what they are. Looking up the recommended role pattern saves hours compared with reverse-engineering it from the spec.

Accessibility audit and review

During code review, the reference helps verify that roles are applied correctly and that the required companion attributes are present. Auditors use it to confirm a component meets compliance targets without combing through MDN tabs.

Education and learning

Anyone new to ARIA can browse the reference to see how role categories fit together. Trainers point students toward the role descriptions and examples as a faster on-ramp than reading the W3C document end to end.

ARIA Role Reference Examples

Common roles

Input
A scan of the everyday roles most apps need
Output
button for interactive controls, link for navigation, navigation for the nav landmark, main for primary content, banner for the header, contentinfo for the footer, search for search regions, form for forms, and region for named sections

These nine cover the bulk of typical web applications. Each role carries a specific accessibility meaning that helps screen reader users orient themselves on the page.

Custom widget role

Input
A tab interface implementation
Output
role=tablist on the container, role=tab on each tab, and role=tabpanel on each panel, tied together with aria-selected, aria-controls, and aria-labelledby

Composite widgets require coordinating roles with relational attributes so the user can navigate between tabs with the arrow keys and hear the right announcements when each panel becomes visible.

Properties versus states

Input
A comparison of structural attributes against dynamic ones
Output
Properties like aria-label, aria-labelledby, and aria-describedby name and describe elements; states like aria-expanded, aria-pressed, and aria-selected reflect the current condition

Properties tend to stay constant once set, while states change as the user interacts with the page. The reference distinguishes them so authors update the right one at the right moment.

Tips & Best Practices for ARIA Role Reference

  • 1.The first rule of ARIA is to avoid ARIA when native HTML can do the job. A real button outperforms a div with role=button on accessibility, performance, and maintainability.
  • 2.Pick a role that matches the actual behavior. Slapping role=button on a link confuses keyboard users, and role=alert on static text triggers spurious announcements.
  • 3.Some roles demand specific companion attributes. role=dialog requires either aria-labelledby pointing to a heading or aria-label as a fallback, otherwise screen readers cannot announce the dialog properly.
  • 4.Automated tools verify ARIA syntax but not usability. Test with real screen readers like NVDA, JAWS, or VoiceOver to learn how the attributes actually sound to users.
  • 5.Distinguish properties from states deliberately. aria-expanded flips on every disclosure click, while aria-label rarely changes once set, and using the wrong category sows bugs.
  • 6.For composite widgets like trees, grids, and combo boxes, follow the WAI-ARIA Authoring Practices Guide patterns rather than improvising. The APG covers keyboard interaction in detail that this reference cannot match.

Frequently Asked Questions

ARIA stands for Accessible Rich Internet Applications, a W3C specification that exposes roles, properties, and states to assistive tech like screen readers. The attributes layer over HTML to describe behavior the markup alone cannot convey, which matters most for dynamic content, custom widgets, and anything that goes beyond standard form controls.