ARIA Roles and Properties Accessibility Audit

Guide to auditing ARIA roles, states, and properties for WCAG 2.1 criteria 4.1.2 and 4.1.3. Covers custom widgets, live regions, landmarks, and common ARIA mistakes.

Component Audits

Detailed Explanation

ARIA Roles and Properties Audit

ARIA (Accessible Rich Internet Applications) attributes bridge the gap between custom UI components and assistive technologies. WCAG criteria 4.1.2 (Name, Role, Value) and 4.1.3 (Status Messages) directly depend on correct ARIA usage.

When to Use ARIA

The first rule of ARIA is: do not use ARIA if native HTML can achieve the same result. Native <button>, <input>, <select>, and <nav> elements have built-in accessibility.

ARIA is needed when:

  • Building custom widgets (tabs, accordions, comboboxes)
  • Creating dynamic content updates (live regions)
  • Providing additional context (descriptions, labels)
  • Defining page landmarks beyond HTML5 semantics

Key ARIA Attributes to Audit

Roles: Verify custom widgets use correct roles:

  • role="tablist", role="tab", role="tabpanel" for tab interfaces
  • role="dialog" for modal dialogs
  • role="menu", role="menuitem" for application menus
  • role="alert" for important, time-sensitive messages

States: Verify dynamic states are updated:

  • aria-expanded="true/false" for collapsible sections
  • aria-selected="true/false" for tabs and list items
  • aria-checked="true/false" for custom checkboxes
  • aria-disabled="true/false" for disabled controls

Properties: Verify relationships are defined:

  • aria-label or aria-labelledby for accessible names
  • aria-describedby for additional descriptions
  • aria-controls to connect triggering elements to controlled regions
  • aria-live="polite/assertive" for dynamic content updates

Common ARIA Mistakes

  1. Using ARIA instead of native HTML<div role="button"> instead of <button>
  2. Incorrect role hierarchyrole="tab" not inside role="tablist"
  3. Missing required childrenrole="list" without role="listitem" children
  4. Stale ARIA statesaria-expanded not updating when toggled
  5. Conflicting roles — Applying ARIA roles to elements with implicit roles

Use Case

ARIA auditing is essential for any web application using custom widgets, single-page architecture, or dynamic content updates. React, Vue, and Angular applications frequently need ARIA attributes for custom components. Front-end developers should verify ARIA during code review.

Try It — Accessibility Audit Checklist

Perceivable

0%(0/20 tested)
0 pass0 fail

Operable

0%(0/17 tested)
0 pass0 fail

Understandable

0%(0/10 tested)
0 pass0 fail

Robust

0%(0/3 tested)
0 pass0 fail
Level A:0/30 pass
Level AA:0/19 pass
Level AAA:0/1 pass

50 criteria shown · Click the status badge to cycle through Pass / Fail / N/A / Untested

Perceivable

Operable

Understandable

Robust

Open full tool