Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
World desk6 min

How to Find Hidden Accessibility Issues with Cypress

Cypress finds state-dependent accessibility problems only when tests reach the relevant UI. Pair scans with behavior assertions and manual evaluation.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To find accessibility issues that only appear after interaction, make Cypress visit the relevant state—open the menu, dialog, or disclosure; trigger validation; load dynamic results—and run an accessibility scan there. A scan sees the page or component state presented to it, not states your test never reaches. Pair scans with assertions for the behavior your product intends, then evaluate the experience manually. “Hidden” in this context usually means hidden from a one-time scan because the UI state was never opened; it is not the same as Cypress deciding an element is invisible.

What “hidden accessibility issue” means

There are two different problems that can be described as hidden. A state-hidden issue occurs in UI that is not present until an action—such as opening a menu or submitting a form. If a test scans only the initial page, it cannot find a problem in a state it never visits. Cypress describes accessibility scans as checks of the current page or component state.

As an Amazon Associate I earn from qualifying purchases.

A CSS-hidden element is a different matter: it is present in the DOM but may not be rendered as visible under Cypress’s visibility rules. Neither kind of visibility answers whether a control has the right accessible name, works from the keyboard, or communicates its state correctly.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Build journeys around meaningful states

List the states a user can reach, then make each important journey reach them before checking accessibility. A page-load scan is useful, but it is only one checkpoint.

  • Menus and navigation: open the menu, check the resulting state, and exercise its controls.
  • Dialogs: open the dialog and test the actions inside it, including the expected focus destination and dismissal behavior.
  • Disclosures and tabs: activate each relevant control and verify that the expected content and state are exposed.
  • Forms: submit invalid data to reveal error text and validation states, then check the relevant controls and messages.
  • Dynamic results: trigger loading, empty, success, and failure states where applicable; inspect status messaging as well as the resulting content.

Choose checkpoints that reflect actual product behavior rather than scanning after every command. Cypress notes that in-test scans add runtime overhead because rules evaluate applicable DOM elements. A focused checkpoint at each meaningful state gives the results context without turning every low-value step into a scan.

Combine automated scans with product-specific assertions

An axe-based scan can flag violations covered by its configured rules, but it cannot infer every product-specific expectation. Cypress gives an ordinary assertion about a button’s accessible name as an example of a useful check alongside scanning.

For each journey, assert the behaviors that matter to that control and state: its expected accessible name, expanded or selected state, where focus goes, whether keyboard interaction works, and whether a status or validation message is conveyed. Define the expected result from the product’s intended behavior; a generic rule cannot decide whether a particular label or message is meaningful in context.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Color Test Book with Ishihara Color Chart Plates for Vision Screening and Deficiency Detection Portable Eye Testing Chart for Drivers and Home Use
  • Core Functionality: This color test book provides a comprehensive and user-friendly color chart designed specifically for early detection of color deficiency, facilitating timely intervention and safer driving assessments
  • Material and Design: Crafted from stable, lightweight, and durable materials, this test book offers convenience and longevity for repeated use in various settings
  • Language and Accessibility: Designed in english to ensure easy understanding and accurate self-administration of the color test book by english-speaking users, enhancing usability and testing accuracy
  • Portability and Storage: Compact dimensions of approximately 3.81 by 3.34 by 0.11 inches and lightweight construction make this test book highly portable and easy to store for use in clinics, schools, or at home
  • Practical Application: Ideal for use in various scenarios such as driver screening, vision examinations, and color deficiency assessments, this color test book integrates multiple test charts to support thorough visual evaluations

Keep the scan and the assertion distinct in the test design. The scan reports applicable automated rule findings for the state it receives. The assertions verify requirements the team chose for that journey. Passing either one does not imply the other.

Choose where Cypress accessibility checks run

Cypress documents two principal automation approaches. The right fit depends on whether the team wants checks and failure control in test code or analysis and reporting in Cypress Cloud, as well as budget and pipeline needs.

Approach Where checks run Setup and feedback Commercial status
cypress-axe Inside the Cypress test, against the current page or component state. Community integration; add it to the project and invoke checks at the states the test visits. In-test calls add runtime overhead. Community plugin.
Cypress Accessibility In Cypress Cloud, by analyzing snapshots from recorded runs. Processes snapshots without adding cy. check commands to tests. The configured rules and test scope determine what is analyzed. Paid Cypress Cloud product.

Do not assume the two approaches inspect identical states or provide identical gating: make sure your recorded runs include the journeys and snapshots you need, and confirm how findings feed into your team’s workflow.

Know what the configured rules do—and do not—cover

Cypress Accessibility’s documented default axe-core rules cover WCAG 2.0 and 2.1 Level A and AA, plus Deque Best Practices. Three WCAG-tagged rules—color-contrast, no-autoplay-audio, and meta-refresh—are turned off by default. WCAG 2.2, AAA, experimental, and deprecated rule groups are also off by default unless enabled for the project. Page-level rules do not run for component tests.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Those are product defaults, not a guarantee about every project configuration or every axe-based integration. Check the rules enabled in your own setup and the scope of the test. Describe a result as passing the configured automated checks for the tested states—not as proof that the application “passes WCAG” or is accessible to everyone.

Use Cypress visibility assertions for visibility, not accessibility

As of Cypress 16, the default visibility algorithm delegates to the browser’s native Element.checkVisibility() API. Cypress describes hidden conditions that include zero dimensions, display: none on the element or an ancestor, hidden or collapsed visibility, and certain content-visibility cases. When directly asserting visibility, Cypress also treats opacity as hidden.

A visibility assertion can help confirm that a test has reached the expected rendered state. It cannot establish that the visible control is named correctly, has an operable keyboard path, or announces changes appropriately. Conversely, an element considered invisible by a visibility assertion is not by that fact alone an accessibility violation; the relevant question depends on the intended UI and state.

Manually evaluate the experience automated checks cannot settle

Automated tools can identify many barriers, but they cannot check every accessibility aspect accurately or without human judgment. W3C’s Web Accessibility Initiative says, “Tools cannot check all accessibility aspects automatically. Human judgement is required.” Follow the important journeys using the keyboard and suitable assistive technology, and assess whether the experience works as intended.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Can users reach and operate each control using the expected keyboard interactions?
  • Is the focus order logical, and is focus visibly apparent?
  • When a dialog opens or closes, does focus move to an appropriate place?
  • Are changes, errors, and results announced or otherwise discoverable?
  • Do names, instructions, and messages make sense in the surrounding context?

Where practical, involve disabled users. State which journeys and configurations were evaluated; a limited manual review, like a limited automated scan, should not be generalized into a claim about the whole application.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

ScreenshotNeo is a website screenshot API, not an accessibility scanner: use Cypress and accessibility evaluation for the checks above. If you need a screenshot artifact of a rendered state for visual review, one request can capture a URL. It does not replace reaching and testing interactive states in Cypress.

ScreenshotNeo API documentation

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

ScreenshotNeo removes known cookie/consent banners, newsletter popups, and chat widgets before capture; each cleanup step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify page verdict and billing status. Its MCP server provides screenshot tools for AI agents. The free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots.

Sign up for 1,000 free screenshots a month, with no card required.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Troubleshoot incomplete or misleading results

  • A scan reports no issues, but a user-facing state seems untested: confirm that the journey actually opened or triggered that state before the scan. A scan only checks the current state.
  • A component test appears clean while the full page has concerns: Cypress Accessibility does not run page-level rules for component tests. Include appropriate page-level coverage in addition to component coverage.
  • A passing visibility assertion is being treated as an accessibility pass: keep the assertion scoped to rendered visibility, then separately check names, operation, focus, and communication.
  • The team expects a rule that does not appear in findings: inspect the configured rule groups. Some WCAG-tagged rules and WCAG 2.2 and AAA groups are off by default in Cypress Accessibility.
  • Test runtime grows after adding checks: in-test scanning evaluates applicable DOM elements and adds overhead. Prefer meaningful state checkpoints over redundant scans.
  • A result is being described as broad WCAG conformance: report the tool, enabled rules, scope, and tested states. Automated checks cover only what their rules can evaluate.

A practical reporting checklist

  • Record which user journeys and resulting states were scanned.
  • Identify whether checks ran in-test or through Cypress Cloud, and note the applicable configuration.
  • Include product-specific assertions for expected names and interactions.
  • Record manual keyboard and assistive-technology evaluation separately.
  • Describe findings within the boundaries of the states and checks actually evaluated.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.