WCAG violations on one page
accessibility_auditRun a WCAG accessibility check on one page in a real browser, listing failed rules, affected elements, and their locations before launch.
Instructions
Opens one page in a real browser and runs axe-core over it, reporting the WCAG rules it fails, how many elements fail each one, and where they are.
Use it to answer "does this page meet WCAG 2.2 AA?", "what would an accessibility audit flag?" or "which of these fixes matters most?". It is the check to run before a site goes live, and when a client asks about accessibility obligations.
Do not use it for metadata, headings or broken links, which seo_audit reports without a browser and far faster. It audits one page, not a site, and it renders that page: it is much slower than every other tool here.
It needs a browser. Nothing else in this server does, so if none is installed this tool says so and names the one command that fixes it, while every other check keeps working. A hosted instance runs it too: the published image ships a browser, and every request that browser makes goes through the same public-address and web-port rules as the rest of this server.
Automated rules find roughly a third of accessibility problems. A page with no violations is a page that passed the machine-checkable part, which is not the same as being usable, and the count of undecided rules is reported for exactly that reason. robots.txt is obeyed. Returns findings ordered by urgency, worst first.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The page to audit, e.g. "https://example.com/contact". A bare domain is accepted and read over HTTPS. One page is audited, not a site. | |
| standard | No | Which rules to run. Defaults to "wcag2aa", the level most accessibility policies and procurement rules are written against. Each level includes the ones below it. "best-practice" runs axe's non-WCAG advice instead, which is useful but is not a legal standard anywhere. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL that was requested. | |
| audited | Yes | Whether the page was audited at all. False when robots.txt forbids it. | |
| finalUrl | Yes | Where the browser ended up. | |
| findings | Yes | What needs attention, worst first. | |
| severity | Yes | How much attention this needs. "critical" means act now; "warning" means act this month; "unknown" means the check could not establish the fact, which is not the same as it being fine. | |
| standard | Yes | Which standard was asked for. | |
| checkedAt | Yes | When the audit ran, ISO 8601 in UTC. | |
| pageTitle | Yes | The title as rendered, which markup alone may not show. | |
| passCount | Yes | How many rules passed. | |
| axeVersion | Yes | Which axe-core did the judging, so a result can be reproduced. | |
| violations | Yes | Every rule that failed, worst impact first. | |
| violationCount | Yes | How many rules failed. | |
| incompleteCount | Yes | Rules axe could not decide on its own. These are not passes: they are the ones needing a person, and a page with none is unusual rather than perfect. | |
| affectedElements | Yes | How many elements failed a rule, counting repeats. |