axe-core
The accessibility testing engine behind most modern a11y tools — embeddable, fast, and standards-aligned.
Pricing
Free / Open source
Type
Automation
Languages
JavaScript, TypeScript
// VERDICT
Reach for axe-core when you want to bake accessibility checks into your unit/E2E tests and CI with a trusted, zero-false-positive engine. Skip it when you want a visual in-browser checker (WAVE), a CLI-first scanner (Pa11y), or manual assistive-tech testing.
Best for
An embeddable open-source accessibility engine you drop into automated tests - it scans rendered HTML against WCAG rules with zero false positives, and is the de-facto engine that powers many other a11y tools.
Avoid when
You want a no-code visual checker, manual screen-reader testing, or a hosted monitoring platform rather than a library in your test suite.
CI/CD fit
npm library · @axe-core/playwright, cypress-axe, Selenium · Jest/Vitest · GitHub Actions · GitLab CI
Languages
JavaScript · TypeScript
Team fit
Dev/QA teams shifting a11y left · Automation engineers · Teams adding a11y gates to CI
Setup
Maintenance
Learning
Licence
// BEST FOR
- Embedding accessibility checks directly in automated tests
- Scanning rendered HTML against WCAG 2.0/2.1/2.2 (A/AA/AAA) rules
- Zero false positives - flagged issues are real
- Integrating with Playwright, Cypress, Selenium, Jest and more
- The de-facto engine (it also powers Lighthouse's a11y audit and axe DevTools)
- Catching the automatable share of a11y issues early, in CI
// AVOID WHEN
- You want a no-code visual in-browser checker (WAVE)
- You prefer a CLI/sitemap scanner over a code library (Pa11y)
- You need manual screen-reader / assistive-tech testing
- You want a hosted monitoring platform with dashboards
- You expect automation to cover all of WCAG (it covers a subset)
- You don't have an automated test suite to embed it in
// QUICK START
npm install --save-dev @axe-core/playwright
// in a test:
// const results = await new AxeBuilder({ page }).analyze();
// expect(results.violations).toEqual([]);// ALTERNATIVES TO CONSIDER
| Tool | Choose it when |
|---|---|
| Pa11y | You want a CLI/CI scanner over URLs or a sitemap rather than a code library. |
| Lighthouse | You want a broader audit (a11y + performance + SEO) in one run. |
| WAVE | You want a visual in-browser checker for manual evaluation. |
// FEATURES
- WCAG 2.0/2.1/2.2 rule coverage
- Zero false-positive philosophy
- Embeddable in any browser-driven test runner
- Integrations for Cypress, Playwright, Selenium, Jest, Storybook
- Best-practice rules beyond strict WCAG
- Custom rule and check authoring
// PROS
- Industry standard for automated a11y checks
- Zero-false-positive design — every flagged issue is real
- Drops into existing E2E and unit test suites
- Active development by Deque
// CONS
- Catches roughly 30–40% of WCAG issues — manual review still required
- Rule-specific configuration can be involved
- Best paired with screen-reader and keyboard testing
// EXAMPLE QA WORKFLOW
Install axe-core or an integration (Playwright/Cypress/Selenium)
Call axe against the page/DOM in your tests
Assert there are no violations (zero false positives makes this safe)
Cover key pages and interactive states
Fail the CI build on violations
Complement automated runs with manual a11y checks
// RELATED QA.CODES RESOURCES
Cheat sheets
Glossary
Practice
// Practise with axe-core
Put axe-core to work on a realistic app with seeded bugs, scenarios and automation tasks.