Skip to main content
Robust 80% fail

ARIA: Use & Misuse

80% of homepages use ARIA — and those pages have 2× more errors than pages without. ARIA doesn't add behavior, only semantics. Misused ARIA is worse than no ARIA. Five rules: don't use ARIA if native works.

In plain terms

ARIA is extra labeling for custom controls — powerful, but easy to get wrong. Used badly it makes things worse, so reach for plain HTML first.

The five rules of ARIA (W3C):

  1. Don't use ARIA if a native HTML element works
  2. Don't change native semantics unless you really need to
  3. All interactive ARIA controls must be keyboard-accessible
  4. Don't use role="presentation" or aria-hidden="true" on focusable elements
  5. All interactive elements must have an accessible name

The most common ARIA errors: role="button" on a div without keyboard support, aria-hidden="true" on visible content, invalid role values, and missing required child roles (e.g., role="tablist" without role="tab" children).

Why this matters

80% of homepages use ARIA, and those pages have 2× more detected errors than pages without ARIA. ARIA doesn't add behavior — it only changes what assistive technology announces. A div with role="button" still needs tabindex, keyboard handlers, and focus styles. Misused ARIA is actively worse than no ARIA.

How to detect

Quick check

Run axe DevTools — it catches invalid ARIA roles, missing required attributes, and conflicting roles. Then manually verify: does every ARIA role have the required states and properties? Are roles used on appropriate elements?