pa11y
Automated accessibility testing for your websites.
Open the official app on pa11y.org
This tool is hosted by its maintainers. Click below to open pa11y.org in a new tab — it's their official demo.
Browse developer tools →What's next with pa11y?
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 pa11y?
pa11y is an open-source accessibility testing tool designed to automate the identification of web accessibility issues. Under the Apache-2.0 license, it provides developers and non-developers with tools to ensure websites comply with accessibility standards like WCAG. The project caters to teams needing to monitor progress over time and individuals seeking to perform one-off audits. By integrating with continuous integration (CI) pipelines and offering a dashboard for visual tracking, pa11y addresses the challenge of maintaining accessible web content while reducing manual testing efforts. Its modular architecture allows users to choose between command-line interfaces, web dashboards, or custom integrations depending on their workflow needs.
How it works
pa11y is a command-line tool that loads web pages and evaluates them against accessibility guidelines, highlighting issues such as missing alt text or insufficient color contrast. It serves as a foundational component for automated accessibility testing, enabling developers to catch problems early in the development cycle. The project also includes a web dashboard for tracking accessibility performance over time and a webservice for custom integrations. These tools collectively address the need for both technical validation and visual progress monitoring in accessibility efforts. pa11y's CLI tool supports one-off tests on individual URLs, while its CI variant iterates through lists of pages to enforce accessibility standards in development pipelines. The dashboard provides daily automated checks and graphical insights into trends, making it accessible to non-technical stakeholders. The webservice allows developers to build tailored interfaces or integrate accessibility data into existing systems.
How to use it
- 1Install pa11y via npm or download the binary from the GitHub repository. 2. Run the CLI tool with a URL argument to analyze a single page, e.g., `pa11y https://example.com`. 3. For CI integration, configure a script to iterate through a list of URLs and output results to a file. 4. Set up the dashboard by configuring the webservice endpoint and accessing the UI for real-time monitoring. Practical tips include using the `--format` flag to customize output, leveraging the dashboard's graphing features for trend analysis, and ensuring test URLs are publicly accessible to avoid authentication errors.
What it can do
- accessibility auditing
Use cases
Assumptions and limitations
Assumptions
- source: https://github.com/pa11y/pa11y
- license: Apache-2.0 — free to use
- privacy: Self-hosted — you control your data
Limitations
- Relies on axe-core for rule enforcement, which may not cover all WCAG 2.1 criteria
- Struggles with dynamic content loaded via JavaScript without proper pausing mechanisms
- Does not validate browser-specific accessibility features like VoiceOver interactions
- Requires manual configuration for complex CI/CD pipeline integrations
- Lacks real-time testing capabilities for user interaction scenarios
Understanding the result
Automated accessibility testing for your websites.
Tool details
- Clearly flagged when a network request is needed.
- No account, no sign-up, and no tracking of your content.
- Powered by (Apache-2.0).
- Built with
- (pa11y/pa11y)
- License
- Apache-2.0
- Runs locally
- No — requires a network request
- Verification
- Not yet verified
- Input
- Query
- Output
- Text
Built with pa11y/pa11y. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.
- Built with
- License
- Apache-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
- Apache-2.0 License
Upstream project
Frequently asked
How does pa11y determine if a website is accessible?
pa11y uses axe-core, a library of accessibility rules, to evaluate web pages against WCAG 2.1 standards. It checks for issues like missing alt text, insufficient color contrast, and improper form labeling. Results are generated by loading the page and applying these rules, with severity levels indicating urgency for fixes.
How does the dashboard track accessibility improvements over time?
The dashboard connects to the pa11y webservice, which stores test results in a database. It aggregates data from daily runs, displaying metrics like total issues, resolved issues, and regression alerts. Graphs visualize trends, allowing users to monitor progress toward accessibility goals and identify patterns in recurring problems.
How do I run pa11y in a CI pipeline?
Install pa11y via npm, then create a script that executes `pa11y-ci` with a list of URLs. For example, `pa11y-ci https://example.com https://another-page.com > results.txt` will run tests and save output. Integrate this script into your CI tool's build process to enforce accessibility checks before deployment.
How does pa11y compare to tools like axe or Lighthouse?
pa11y focuses on automated, rule-based testing with a modular architecture, while axe is a library often integrated into other tools. Lighthouse provides broader performance and accessibility metrics but lacks pa11y's dedicated dashboard and CI integration. pa11y's strength lies in its specialized accessibility rules and scalability for enterprise use.
What should I do if pa11y throws an error about a missing dependency?
Check if required Node.js versions are met, ensure all npm packages are installed via `npm install`, and verify internet access to the webservice if using the dashboard. For CLI errors, review the URL syntax and ensure target pages are publicly accessible without authentication barriers.