axe-core
Accessibility engine for automated Web UI testing
A JavaScript library that automatically tests websites for accessibility issues against WCAG guidelines, detecting problems like missing image descriptions or low color contrast with zero false positives.
Axe-core is a JavaScript library for automatically testing whether a website is accessible to people with disabilities. Accessibility testing checks things like whether images have text descriptions for screen readers, whether form fields have labels, whether color contrast is high enough, and whether a page can be used with a keyboard alone. Standards for this are set by the Web Content Accessibility Guidelines (WCAG), and axe-core checks against multiple versions of those guidelines (WCAG 2.0, 2.1, and 2.2) across different compliance levels.
The library is designed to be added to an existing test suite rather than run as a standalone tool. After installing it via npm, you include a small JavaScript file in your test pages and call axe.run() at points in your tests where parts of the interface appear. It then scans the page, returns a list of violations found, and flags elements where it was uncertain as needing manual review. The authors claim it produces zero false positives, meaning everything it reports as a violation is a real problem, not a guess.
According to the README, axe-core can automatically detect around 57% of WCAG issues. The rest require human judgment. For the issues it can detect, it runs quickly enough to be included in everyday testing without slowing down a development workflow.
It works across all major browsers: Chrome, Firefox, Safari, Edge, and (in a deprecated mode) Internet Explorer 11. It handles iframes nested to any depth and can be configured to run only certain rules depending on the context. Localization is supported, meaning error messages can be translated to other languages, with translation files living in the locales directory.
The project is open source and actively maintained by Deque Systems, an accessibility consulting company. It serves as the engine underlying several of Deque's commercial and free browser extension tools.
Where it fits
- Add automated accessibility checks to an existing test suite to catch WCAG violations on every code change.
- Scan a specific page or component for accessibility issues during development before shipping.
- Check whether form fields, images, and color contrast on a page meet WCAG 2.1 or 2.2 standards.
- Test pages containing nested iframes for accessibility compliance across all frames.