CheckOps home

Tools directory

C

CheckOps

cypress-axe

cypress-axe is an MIT-licensed set of custom Cypress commands that inject axe-core into the page under test and check for accessibility violations with cy.checkA11y.

Visit website

Latest public signals

Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.

Visit Website

Introduction

cypress-axe adds accessibility testing to Cypress end-to-end and component tests using Deque’s open-source axe-core engine. Because it runs inside your existing Cypress tests, you can check accessibility in realistic states, such as after logging in, opening a modal or submitting a form with errors, which page-level scanners often miss.

The README documents three main commands. cy.injectAxe() injects the axe-core runtime into the page and must run after cy.visit(); an optional axeCorePath points to a custom axe-core build. cy.configureAxe() configures axe with custom rules, checks or locale. cy.checkA11y() runs the analysis, optionally scoped to a selector, with axe options such as rule tags (wcag2a, wcag2aa) or included impact levels, a violation callback for custom logging, and a skipFailures flag for reporting without failing. axe-core is a peer dependency, so you control its version. Version 1.7.0 was released on 29 August 2025, with repository activity in September 2026.

The source code is at component-driven/cypress-axe on GitHub under the MIT licence, with about 640 stars; the most recent commit was on 3 September 2026.

Features

  1. In-test accessibility checks: Check real application states.
  2. Scoped checks: Test specific components or regions.
  3. Configurable rules: Tags, impacts and custom rules.
  4. Custom reporting: Violation callbacks for logs or tables.

Pros

  1. Free to use: Open source under the MIT licence, so the core tool costs nothing to use.
  2. Actively maintained: The repository had commits as recent as 3 September 2026.

Cons

  1. Cypress only: For other runners use @axe-core/playwright or jest-axe.
  2. Automated limits: axe-core finds a subset of WCAG issues.
npm install --save-dev cypress-axe axe-core
// cypress/support/e2e.js
import "cypress-axe";

// cypress/e2e/checkout.cy.js
describe("checkout", () => {
  it("has no detectable a11y violations", () => {
    cy.visit("/checkout");
    cy.injectAxe();
    cy.get("[data-cy=pay]").click();
    cy.checkA11y("main", { runOnly: { type: "tag", values: ["wcag2a", "wcag2aa"] } });
  });
});

Resources:

Pricing

cypress-axe is free and open source under the MIT licence.

  1. Cypress users adding accessibility checks to existing tests.
  2. Teams testing dynamic UI states such as modals and errors.

Conclusion

cypress-axe is the standard way to bring axe-core accessibility checks into Cypress tests.

Alternatives

Other tools on CheckOps that cover similar ground. Open a page, or compare one with cypress-axe side by side.