Matan · WCAG · Robust

ARIA roles

aria-label on a generic <div> without a role is often ignored or mapped incorrectly.

Pass condition in our engine: aria-label/labelledby is not used on non-semantic elements without a role.

1. Problem description

ARIA is for when HTML semantics are not enough. Labelling a <div> without role=button/nav/… does not magically make it a button. Prefer native elements.

2. Most common causes

  • Design systems that wrap everything in divs and slap aria-label on them.
  • Copy-pasted ARIA from a tutorial.

3. How to fix it

  1. Use <button>, <nav>, <a> first.
  2. If you must use a div, add an explicit, valid role.
  3. Run axe in the browser for cases our static HTML pass cannot see.

Test this check

We fetch only this URL (plus robots.txt / llms.txt at the domain root when the check needs them). We do not crawl the rest of the site like a full report.

Scoring rules for the full site crawl are documented in methodology. Want every category at once? Generate a free report.

Get your free SEO & GEO report

Enter your URL and receive a full audit with scoring and recommendations. No sign-up required.