run automated accessibility scans in cypress using the cypress-axe plugin's checka11y command
domain: docs.cypress.io · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
install cypress-axe and import 'cypress-axe' in the Cypress support file to register the custom commands
call cy.injectAxe() after cy.visit() and before any accessibility check, since axe-core must be injected into the already-loaded page
call cy.checkA11y() to scan the current DOM state and fail the test on any detected violations
pass a context argument, e.g. cy.checkA11y('.modal'), to scope the scan to a specific region such as a dialog that just opened
pass an options object with rules or includedImpacts to filter which severities and WCAG rules are enforced, and optionally a custom violation callback for reporting
Known gotchas
cy.injectAxe() must be called after every full page navigation (cy.visit()), since axe-core is not automatically re-injected on subsequent page loads
checkA11y() only reflects the DOM at the exact moment it runs, so it must be called after any modal, dropdown, or async content has finished rendering
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?