Pa11y CI is an accessibility testing tool built upon the core Pa11y library, specifically engineered for integration into Continuous Integration (CI) workflows. It facilitates automated auditing of web applications against WCAG standards by scanning a defined list of URLs or a sitemap. The current stable version is `4.1.0`, actively maintained with updates often synchronizing with its upstream dependencies like Pa11y and Puppeteer. Its key differentiators include its robust command-line interface, making it ideal for CI environments, and its flexible configuration system that supports both JSON and JavaScript files. This allows for fine-grained control over testing parameters, including parallel execution, browser contexts, and specific Pa11y options per URL, enabling comprehensive and efficient accessibility validation. It leverages a headless Chromium browser to perform accurate, real-world accessibility checks.
npm install pa11y-ciVerified import paths — ran on the pinned version, not inferred.
Demonstrates configuring Pa11y CI with a JavaScript file for multiple URLs and executing it via the command line, including per-URL overrides.
Upgrade your Node.js environment to version 20 or higher to ensure compatibility. Use tools like `nvm` to manage Node.js versions effectively (e.g., `nvm install 20 && nvm use 20`).
Upgrade Pa11y CI to `4.0.1` or later, which reintroduces compatibility, or ensure your Node.js version is `20.18.1` or higher.
Review the official migration guide for Pa11y CI `v4.0.0` and the changelogs for Pa11y `v9` and Puppeteer `v24` to adapt your existing configurations or test scripts.
Explicitly define the `defaults.chromeLaunchConfig.executablePath` in your Pa11y CI configuration file, pointing to the correct Chrome executable path (e.g., `/usr/bin/google-chrome`), or upgrade to Pa11y CI v4, which resolves this issue.
Ensure system dependencies for Chromium are installed (e.g., `apt-get install chromium-browser` on Debian/Ubuntu). Alternatively, specify `defaults.chromeLaunchConfig.executablePath` in your `.pa11yci.json` or `.js` config file, pointing to the correct browser executable.
Update your `pa11y-ci` package to version `4.0.1` or newer. If you cannot update `pa11y-ci`, then update your Node.js version to `20.18.1` or later.
Upgrade your Node.js environment to a stable (even-numbered) version 20 or higher. Use `nvm` to switch to `nvm use 20` or `nvm install 20` if necessary.