What it does
Pa11y is a free, open-source accessibility testing tool centered on a command-line interface and Node.js library. It loads a page supplied by the developer, runs accessibility checks, and reports findings in the terminal or a selected format. The project supports HTML_CodeSniffer and axe runners, severity thresholds, and reports such as CSV or JSON. It is a developer-run test component, not a hosted site-wide monitoring service.
Pa11y fits into a codebase when a team wants accessibility checks to run alongside other developer tests. Install the Node package, point the command at a public URL or a local HTML file, and inspect the reported issues. For example, the repository documents this illustrative invocation; it was not run during research:
pa11y https://example.com
The default runner uses HTML_CodeSniffer, and the README documents an axe runner, configurable standards, issue thresholds, and CLI reporters including CSV and JSON. A Node.js interface is also available when a project needs to incorporate results into its own scripts. The Pa11y project site lists Pa11y CI as a separate companion tool for checking a list of URLs in continuous integration; this record describes the core Pa11y CLI/library.
Current Pa11y 10 requires Node.js 22.13.0 or later, while the repository notes that older Node versions can use Pa11y 9 or below. The developer must choose target pages and interpret the findings in the context of the site's users; the automated scan is a repeatable check, not a substitute for a broader accessibility review.
Strengths
- The CLI can scan a URL or local HTML file, and the project also provides a Node.js library interface.
- The README documents HTML_CodeSniffer and axe runners, configurable issue thresholds, and CSV or JSON reporting.
- Pa11y's project family includes a separate CI companion for testing a list of pages in a pipeline.
Watch out for
- The latest Pa11y 10 release requires Node.js 22.13.0 or later; users on older Node versions need an earlier Pa11y release.
- A developer must provide target pages and maintain the local Node-based toolchain.
Best for
- Adding accessibility checks for selected web routes to a development or CI workflow
- Developers who want machine-readable accessibility findings from Node.js scripts
Sources
- Pa11y (Oct 26, 2026)
- Pa11y official repository README (Oct 26, 2026)
- GNU Lesser General Public License, Version 3 (Oct 26, 2026)
