All tools

ARIA Role & Attribute Validator

Code

Check every role and aria-* attribute in a pasted HTML snippet against a curated WAI-ARIA 1.2 role table: unknown roles, attributes not permitted on a given role, and widget roles missing a required aria-* state

Paste an HTML snippet and this checks every role and aria-* attribute against a curated table of WAI-ARIA 1.2 roles, catching the three mistakes that break accessibility trees silently: a misspelled or nonexistent role name, an aria-* attribute placed on a role that doesn't support it, and a widget role missing a required state like role="checkbox" without aria-checked. It also flags an unrecognized aria-* attribute name as a likely typo even when no role is present at all. This is pure lookup-table validation, not a full accessibility audit: it covers a curated set of the most common widget, structure, and landmark roles rather than the entire ARIA spec, runs no headless browser or DOM rendering, and doesn't check implicit ARIA semantics that plain HTML elements carry on their own, like a native button needing no role attribute in the first place.

accessibilityariahtmlwcagvalidator

How to use ARIA Role & Attribute Validator

  • 1.Paste an HTML snippet containing role or aria-* attributes into the input.
  • 2.Review the flagged issues: unknown roles, attributes not permitted on a role, missing required states, and possible aria-* typos.
  • 3.Fix the markup and re-check until the issue list is clear.

Frequently asked questions

Does this check the full WAI-ARIA spec?
No, it covers a curated table of roughly 50 of the most commonly used widget, structure, and landmark roles, not the complete ARIA 1.2 specification. An uncommon or abstract role not in the table won't be flagged either way.
Does it render the HTML or use a real DOM?
No, it's pure regex-based attribute parsing and lookup-table validation. It doesn't execute a headless browser, so it can't catch issues that depend on computed styles or JavaScript-driven ARIA state changes.
Does it check native HTML elements without a role attribute?
No. A native <button> or <input type="checkbox"> carries implicit ARIA semantics the browser applies automatically; this tool only checks elements that explicitly declare a role or aria-* attribute.
Is my HTML sent to a server?
No, validation runs entirely in your browser. Nothing is uploaded.

Use via API, SDK, or MCP

cURL# Free: 1,000 req/day · Pro: 10,000 req/day
curl -X POST https://api.utilix.tech/v1/tools/aria-validator \
  -H "Authorization: Bearer utx_live_..." \
  -H "Content-Type: application/json" \
  -d '{"html":"<div role=\"checkbox\" aria-checked=\"true\">Opt in</div>"}'

Get an API key from your dashboard · Full API docs →