ARIA Role Validator
Paste an HTML snippet and check its ARIA roles and attributes against common accessibility mistakes — invalid roles, missing required attributes, and redundant roles.
🔒 This tool runs entirely in your browser. Your files are never uploaded to a server.
Example shown — replace it with your own markup.
Issues found
How ARIA Role Validator works
- Paste an HTML snippet into the box — a small sample with a few deliberate mistakes is pre-filled.
- Click "Validate ARIA" to parse the markup with the browser's own
DOMParserand walk every element. - Each element's
roleattribute is checked against the list of valid WAI-ARIA roles, checked for required companion attributes (likearia-checkedon a checkbox role), and compared against the element's native implicit role. - Review the errors (things that will confuse assistive technology) and warnings (redundant or fragile patterns) listed below the summary.
What it checks
Three categories of mistake, in order of severity: an invalid role (the value isn't a real
ARIA role — often a typo), a missing required attribute (some roles, like
checkbox or tab, are meaningless to a screen reader without a paired state
attribute such as aria-checked or aria-selected), and a redundant
role (setting role="button" on an actual <button> repeats
information the browser already exposes). It also flags a <div>/<span>
with a click handler but no role or tabindex, since that pattern is invisible to keyboard users.
FAQ
What counts as an "invalid" ARIA role?
Any value in a role="" attribute that isn't one of the roles defined by the WAI-ARIA specification — a typo like role="alrt" instead of role="alert" is treated the same as a role that never existed.
Why does it flag role="button" on an actual <button> element?
Native HTML elements already carry an implicit ARIA role — a <button> is already exposed as role="button" to assistive technology. Repeating it explicitly is harmless but redundant, and the tool flags it as a warning so you can clean it up.
Does this replace a full accessibility audit?
No — it checks a focused set of common ARIA mistakes (invalid roles, missing required states, redundant roles, unreachable click handlers) from static markup. It doesn't evaluate color contrast, focus order, or screen-reader behavior, so pair it with a full audit (e.g. axe or manual testing) before shipping.
How we compare
| Feature | Online Tool Store | Reading the WAI-ARIA spec by hand | A general HTML linter |
|---|---|---|---|
| No file upload — runs in your browser | ✓ | N/A | ✗ |
| No sign-up required | ✓ | ✓ | ✗ |
| Free, no watermark | ✓ | ✓ | ✗ |
Cross-referencing every role and attribute against the spec by hand is slow and error-prone, and most general-purpose HTML/lint tools don't know ARIA's role-attribute pairing rules at all. ARIA Role Validator checks exactly that, instantly, without leaving your browser.