Pa11y 5.0.0 (Beta 1)

Today we released the first Pa11y 5.0 beta! There are a lot of changes in this release, so we’ll only talk about a few – for the full list, see the migration guide.

If you just want to try out the beta, you can do so with:

npm install -g pa11y@beta

Headless Chrome

Pa11y 5.0 switches from PhantomJS to Headless Chrome. This allows us to use more modern JavaScript APIs and make Pa11y testing more stable.

Node.js Support

Pa11y 5.0 only supports Node.js v8.0.0 and higher, you’ll need to upgrade to be able to use the latest versions of Pa11y.

Warnings and Notices

Pa11y 5.0 ignores warnings and notices by default, as these are not usually actionable or useful in automated testing.

You can force Pa11y to include warnings and notices again by using the --include-notices and --include-warnings command-line flags, or the includeNotices and includeWarnings options.

Promises

Pa11y is now completely Promise-based, and uses async/await internally. This means the API has changed significantly. This is best expressed in code:

pa11y('http://example.com/').then((results) => {
    // ...
});
const results = await pa11y('http://example.com/');

Feedback

Thanks so much for your continued support, as always your feedback would be greatly appreciated. We’ll keep everyone up to date via the website as new betas are released.