Website Accessibility Checker (WCAG)

Audit a URL or HTML for WCAG 2.2 A / AA issues with axe-core: missing alt text, labels, link and button names, ARIA errors, headings and more.

Free tool: 20 requests per minute.

Result

Press “Run” to see the result.

Send html (page source) or a public url. The page is parsed into a DOM without a browser and checked with the axe-core rule engine (Deque, MPL-2.0) for the chosen WCAG level (a, aa default, aaa) plus best practices: image alt text, form labels, link and button names, document title and language, heading order, landmarks, lists, tables, ARIA roles and attribute values, duplicate ARIA ids, autocomplete values, zoom blocking in the viewport meta tag, iframes titles and more.

Each violation has the rule id, impact (critical, serious, moderate, minor), WCAG success criteria (e.g. 1.1.1), a help link, and up to max_nodes offending elements with their CSS selector, HTML snippet and what to fix. score (0-100) summarises the result; needs_review lists checks axe could not decide.

Rules that need a rendered page (colour contrast, target size, inline spacing, scrollable regions, focus order) are not run and are listed in not_checked; content added by JavaScript is not seen. Automated checks find only part of the WCAG issues, so also test manually. HTML is limited to 3 MB.

Use this in your code

curl -X POST "https://apibox.io.vn/v1/a11y-check" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"html":"<!doctype html><html><head><title>Shop</title></head><body><img src=\"logo.png\"><a href=\"/cart\"></a><form><input type=\"email\" placeholder=\"Email\"><button></button></form></body></html>"}'

API documentation → Get a free API key

FAQ

Is this the same as running axe in a browser?

It runs the same axe-core rules on a static DOM. Rules that need layout or computed colours (colour contrast, target size) cannot run and are listed in not_checked; content rendered by JavaScript is not included.

Which WCAG version is checked?

WCAG 2.0, 2.1 and 2.2 rules up to the level you choose (A, AA by default, or AAA), plus axe best-practice rules unless best_practices=false.

How is the score calculated?

It starts at 100 and subtracts a weight for each failing rule by impact (critical 10, serious 6, moderate 3, minor 1) relative to the number of rules checked. Use it to track progress, not as a compliance certificate.