axe-core
Automated accessibility testing engine for web applications.
Open the official app on www.deque.com
This tool is hosted by its maintainers. Click below to open www.deque.com in a new tab — it's their official demo.
Browse developer tools →What's next with axe-core?
Choose how you want to get started.
Use it free
Open the official tool or demo — no account needed.
Self-host it
Run the open-source version on your own infrastructure.
What is axe-core?
axe-core is an open-source accessibility engine designed for automated testing of web user interfaces to identify barriers preventing people with disabilities from accessing digital content. Developed by Deque, it serves as the foundational technology for the Axe Platform, which provides tools for accessibility testing, monitoring, and compliance management. Primary users include developers, quality assurance teams, and program managers who need to ensure websites and applications meet accessibility standards like WCAG. The tool addresses the challenge of systematically detecting issues such as missing alt text, insufficient color contrast, and improper keyboard navigation, which are critical for compliance and inclusive design.
How it works
axe-core is a JavaScript library that analyzes web pages to evaluate adherence to accessibility guidelines. It is integrated into the Axe Platform, which offers a suite of tools for continuous testing and remediation of accessibility issues. The tool's primary purpose is to automate the detection of common accessibility violations, enabling teams to identify and fix problems early in the development lifecycle. This reduces manual testing efforts and ensures digital products are usable by people with disabilities. axe-core excels at identifying issues such as missing ARIA roles, insufficient color contrast ratios, and improperly labeled form elements. It also checks for keyboard navigation accessibility and screen reader compatibility, ensuring content is perceivable and operable for all users.
How to use it
- 1Install axe-core via npm or include it in a project using a bundler like Webpack. 2. Integrate the library into a test suite by invoking its API to analyze DOM elements. 3. Run tests in a browser environment or headless mode to generate accessibility reports. 4. Use the Axe Platform's dashboard to visualize results and track remediation progress. Practical tips include configuring rule sets to prioritize specific compliance standards and leveraging the Axe Platform's AI-driven prioritization to focus on high-impact issues.
What it can do
- accessibility testing
Use cases
Assumptions and limitations
Assumptions
- source: https://github.com/dequelabs/axe-core
- license: MPL-2.0 — free to use
- privacy: Self-hosted — you control your data
Limitations
- Does not perform manual testing for dynamic content or complex user interactions
- Requires careful configuration to avoid false positives in custom UI components
- Lacks built-in support for testing non-HTML5 content like PDFs or Flash
- May miss issues related to assistive technology-specific implementation details
- Requires additional tools for full compliance verification
Understanding the result
Automated accessibility testing engine for web applications.
Tool details
- Clearly flagged when a network request is needed.
- No account, no sign-up, and no tracking of your content.
- Powered by (MPL-2.0).
- Built with
- (dequelabs/axe-core)
- License
- MPL-2.0
- Runs locally
- No — requires a network request
- Verification
- Not yet verified
- Input
- Query
- Output
- Text
Built with dequelabs/axe-core. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.
- Built with
- License
- MPL-2.0
Open-source project
OpenToolVault is an independent directory. We are not affiliated with or endorsed by this project.
References
- / — GitHub Repository
Upstream project · GitHub
- MPL-2.0 License
Upstream project
Frequently asked
What is axe-core and how does it differ from the Axe Platform?
axe-core is the core accessibility engine powering the Axe Platform. While axe-core provides the technical capability to analyze web content for accessibility issues, the Axe Platform adds features like continuous monitoring, issue prioritization, and integration with development workflows. axe-core is used for custom implementations, while the Axe Platform offers a complete solution for teams needing enterprise-grade accessibility management.
How does axe-core analyze web content for accessibility issues?
axe-core uses the accessibility tree generated by browsers to evaluate elements against WCAG and other standards. It checks for missing attributes like alt text, improper ARIA roles, and color contrast ratios. The tool leverages browser APIs to simulate screen reader interactions and keyboard navigation, identifying issues that prevent users with disabilities from engaging with content.
How can I run axe-core tests in a headless browser environment?
To run axe-core in a headless browser, use a tool like Puppeteer or Playwright to control a headless Chrome or Firefox instance. Initialize the axe-core runner, navigate to the target URL, and execute the analysis. Capture the results programmatically to integrate with testing frameworks or CI pipelines. Example: puppeteer.launch({ headless: true }).then(async browser => { const page = await browser.newPage(); await page.goto('https://example.com'); const results = await page.evaluate(() => axe.run()); console.log(results); });
How does axe-core compare to tools like WAVE or Lighthouse?
axe-core is specifically focused on automated accessibility testing with a strong emphasis on WCAG compliance. WAVE is a browser extension that provides visual feedback for accessibility issues, while Lighthouse offers a broader performance and accessibility audit. axe-core integrates more seamlessly with development workflows and provides programmatic access to results, making it better suited for continuous integration and custom reporting.
What should I do if axe-core reports a false positive?
False positives in axe-core often occur due to misconfigured rules or incomplete DOM rendering. Verify the issue by inspecting the element in the browser's developer tools. Check if the element's attributes align with accessibility guidelines. Adjust rule settings or add exceptions in the axe-core configuration to exclude non-compliant elements while maintaining overall accuracy.