What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Run automated accessibility scans in Cypress with the community cypress-axe plugin and its checkA11y() command, then add Cypress assertions for expected labels and keyboard behavior. Automated scans catch known rule violations in the states they examine; they cannot prove an app is accessible or replace manual review.
Choose an accessibility testing approach
Cypress supports three complementary routes: scan pages or components during test execution with cypress-axe, use the paid Cypress Accessibility feature in Cypress Cloud to analyze captured test snapshots, and write product-specific assertions for behavior a generic scanner cannot infer. Most teams benefit from combining scans with explicit tests and human review.
| Approach | Where checks run | Strength | Trade-off | Good fit |
|---|---|---|---|---|
cypress-axe |
Inside Cypress test execution | Rule checks alongside tests, with configurable findings | Scans add runtime; it is a community-maintained plugin. Follow the Cypress accessibility guide for current setup instructions. | Selected pages and components in development or CI |
| Cypress Accessibility | Cypress Cloud, against captured test snapshots | Analyzes captured views and aggregates reports without accessibility-specific test code | Paid premium offering; default rules have coverage limits. | Teams that want reports from recorded Cypress runs |
| Explicit assertions and manual checks | In tests or by a human reviewer | Can check intended behavior, content, keyboard use, and assistive-technology experience | Requires deliberate test design and human time | Critical controls and gaps no generic scan can resolve |
For the plugin, Cypress documents that checkA11y() scans the current page or component after setup. Plugin installation and support details can change, so use its maintained setup documentation rather than relying on unverified version-specific commands.
Build a useful Cypress accessibility workflow
- Choose representative screens and states. Start with flows where a barrier could block an important task, such as sign-up, checkout, or form submission. Scan meaningful states—not just the initial screen—including validation errors, expanded menus, and dialogs.
- Add scans after the interface is ready. In an end-to-end test, visit or reach the target state, then call
checkA11y()after setup. For component testing, scan reusable components in relevant states. Cypress recommends covering a component’s accessibility in a component test or workflow at least once. - Add assertions for product intent. Check that important controls expose the intended accessible names and semantic elements, that meaningful images have the expected alternatives, and that keyboard users can operate controls and move focus as expected.
- Review findings before making them CI blockers. Decide which findings should fail a build and which should remain visible for triage. Cypress Accessibility’s Results API can be used to control which findings block CI.
- Keep manual review in the test plan. Exercise the interface with a keyboard and review relevant assistive-technology experiences, content, and expected behavior.
Test keyboard operation and focus explicitly
A rule scan cannot determine whether a multi-step flow makes sense to a keyboard user or whether focus moves to the right place after an interaction. Use Cypress assertions to check expected outcomes in important journeys. Cypress identifies cy.press() as a way to dispatch native Tab events for keyboard-navigation checks.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitches#1 Best Overall
- Move through the page using Tab and Shift+Tab; confirm focus reaches the intended controls in a usable order.
- Activate buttons and other controls with the keyboard, and verify the resulting state.
- After opening a dialog or menu, check where focus goes and whether the interaction can be completed and exited without a pointer.
- After form submission, verify that errors are perceivable and that focus or other guidance helps users locate them.
Use assertions that express the expected behavior of your application. A scan can flag a missing accessible name, but it cannot decide what the name should communicate or whether the workflow is understandable.
Understand scan coverage and Cypress Accessibility defaults
Cypress Accessibility’s default ruleset uses Axe Core default coverage for WCAG 2.0 and 2.1 Level A and AA, and includes Deque Best Practices. Best Practices findings are not automatically WCAG failures.
Three WCAG-tagged rules—color-contrast, no-autoplay-audio, and meta-refresh—are disabled by default in Cypress Accessibility. Axe Core rule groups for WCAG 2.2, Level AAA, experimental, and deprecated rules are also off by default unless Cypress enables them for a project. Cypress says the ruleset can be tuned for a target standard through its support process.
Component scans skip page-level checks that do not sensibly apply to an isolated fragment, such as document title, language, main landmark, and top-level heading checks. Component-level checks, including button naming and image alternatives, still apply. Use end-to-end tests for page structure and component tests for reusable component behavior.
Automated scans detect violations from a known set of rules in the rendered state and scope examined. A clean result means no applicable violations were found in that scope; it does not prove full accessibility or WCAG conformance. Cypress repeats a Deque estimate that automation may detect up to 57% of issues that would appear in a manual accessibility audit; the cited Cypress documentation does not state the estimate’s year, so it should not be treated as a guarantee for a particular app.
Troubleshoot common problems
- The scan reports violations on a page that looks correct. Inspect the affected element and rule, then decide whether it indicates a real barrier, a context-specific issue, or a need to tune the scan. Do not dismiss findings solely because the page appears visually correct.
- A component scan reports a page-level issue. Isolated components do not have all document context. Cypress Accessibility omits certain page-level checks in component testing; use an end-to-end test to assess document structure.
- The scan passes but users still encounter barriers. Automated rules cover only applicable known checks. Add assertions for names, alternatives, keyboard behavior, and focus, and conduct manual review.
- Every finding is blocking CI. Review the project’s gating policy. With Cypress Accessibility, use the Results API to determine which findings block builds while retaining visibility into others.
- Scans slow the suite. Scans add runtime. Prioritize representative high-impact screens and component states rather than indiscriminately scanning every repeated state.
Or skip the browser setup
For page screenshots alongside accessibility work, ScreenshotNeo is a website screenshot API and MCP server. A single GET request returns an image or PDF; it is not an accessibility scanner and does not replace Cypress tests.
Rank #4
For example, capture a page as WebP with cURL:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for request options. Cookie banners, popups, and chat widgets are removed before capture; bot checks, blank pages, and failed loads are never billed. Its MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. Sign up for the free plan.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Frequently Asked Questions
Does a passing Cypress accessibility scan mean my app conforms to WCAG?
No. It means the scanner found no applicable violations in the tested state and rule scope; it does not establish conformance or usability for every user.
Can I test accessibility in Cypress component tests?
Yes. Scan reusable components in meaningful states, while using end-to-end tests for page-level structure such as document title, language, and landmarks.
Quick Recap
Best Value
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




