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
- Use <button>, <nav>, <a> first.
- If you must use a div, add an explicit, valid role.
- 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.