Freedom251 › Accessibility Testing Software
jest-axe

What jest-axe is
jest-axe is a free custom Jest matcher that connects axe accessibility checks to automated web tests. Tests pass HTML or DOM elements to axe and assert that no accessibility violations are found. The package can run in CI/CD workflows and includes examples for React, React Testing Library, Vue, Vue Testing Library, and Angular with Nx. Axe options, custom rules and checks, and the impact levels treated as violations can be configured. Its stated coverage is WCAG 2.2. Installation uses npm with Jest, jest-axe, and jest-environment-jsdom as development dependencies. The package requires Node.js 22.13.0 or later, lists Nick Colley as author, and uses the MIT license. Color-contrast checks are disabled because they do not work in JSDOM. Automated checks can miss barriers and cannot establish that a product is accessible, so the project recommends assistive-technology testing and research involving disabled people. Jest fake timers or mocked setTimeout may cause axe-core timeouts; real timers may need temporary restoration.
Who it suits
It suits web developers adding automated accessibility checks to Jest suites and CI/CD pipelines. It is useful for teams working with the listed React, Vue, or Angular setups.
What it does well
- Free MIT-licensed package
- Runs accessibility checks in Jest
- CI/CD integration
- Configurable axe rules and impact levels
- WCAG 2.2 coverage
What to know first
- Color contrast checks disabled in JSDOM
- No manual review tools
- No remediation guidance
- Requires Node.js 22.13.0 or later
Verdict
jest-axe adds configurable axe checks to Jest tests across several web frameworks. It should complement, rather than replace, assistive-technology checks and involvement of disabled users.
Facts from jest-axe's own pages
- Accessibility caveat
- The project says automated checks do not guarantee an accessible product and recommends testing with assistive technologies and involving disabled people in user research. · github.com, 11 Oct 2026
- Automated scans
- Yes · github.com, 23 Sept 2026
- Automated testing limit
- Color contrast checks are disabled because they do not work in JSDOM. · github.com, 11 Oct 2026
- Automated testing limits
- The project says automated testing misses some access barriers and does not guarantee an accessible product. · github.com, 12 Oct 2026
- Browser extension
- No · github.com, 23 Sept 2026
- CI/CD integration
- Yes · github.com, 23 Sept 2026
- Color contrast
- Color contrast checks do not work in JSDOM and are turned off in jest-axe. · github.com, 12 Oct 2026
- Configuration
- Users can configure axe options, rules, custom checks, and impact levels. · github.com, 12 Oct 2026
- Framework examples
- The README includes examples for React, React Testing Library, Vue, Vue Testing Library, and Angular with Nx. · github.com, 11 Oct 2026
- Free plan
- Yes · github.com, 23 Sept 2026
- How it works
- It lets tests pass HTML or DOM elements to axe and assert that there are no accessibility violations. · github.com, 11 Oct 2026
- Input
- The README says to pass anything that outputs HTML to axe. · github.com, 12 Oct 2026
- Installation
- The README gives an npm install command for jest, jest-axe, and jest-environment-jsdom. · github.com, 12 Oct 2026
- Integrations
- The README shows examples with React, React Testing Library, Vue Test Utils, Vue Testing Library, and Angular using Nx. · github.com, 12 Oct 2026
- License
- The repository identifies the project as MIT licensed. · github.com, 12 Oct 2026
- Maintainer
- The package metadata names Nick Colley as the author. · github.com, 12 Oct 2026
- Manual review tools
- No · github.com, 23 Sept 2026
- Mobile testing
- No · github.com, 23 Sept 2026
- Purpose
- jest-axe is a custom Jest matcher for axe for testing accessibility. · github.com, 12 Oct 2026
- Remediation guidance
- No · github.com, 23 Sept 2026
- Runtime requirement
- The package metadata specifies Node.js version 22.13.0 or later. · github.com, 12 Oct 2026
- Timer limitation
- The README says axe-core can time out when Jest fake timers or mocked `setTimeout` are used, and recommends temporarily restoring real timers. · github.com, 11 Oct 2026
- Timers limitation
- axe-core does not work when timers such as setTimeout are mocked, and the README recommends temporarily restoring real timers. · github.com, 12 Oct 2026
Where jest-axe stands on Freedom251
- Accessibility Testing Software#120 of 169
- Website Accessibility Tools#99 of 133