The puppeteer test method for testing a11y

Usage no npm install needed!

<script type="module">
  import a11ycorePuppeteer from 'https://cdn.skypack.dev/@a11ycore/puppeteer';



npm version NPM

Custom [Puppetter] runner matcher for aXe for testing accessibility

⚠️✋ This project does not guarantee what you build is accessible.

The GDS Accessibility team found that only ~30% of issues are found by automated testing.


npm install --save-dev @a11ycore/puppeteer


const puppeteer = require('puppeteer');
const { runA11yPuppeteer } = require('@a11ycore/puppeteer');

describe(() => {
  it('should check the page for a11y' async () => {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.setBypassCSP(true);

    await page.goto('https://thewebuiguy.com');

    const results = await runA11yPuppeteer(page);

    await page.close();
    await browser.close();

Refer to Developing Axe-core Rules for instructions on how to develop custom rules and checks.


  • aXe for the wonderful axe-core that makes it so easy to do this.
  • Government Digital Service for making coding in the open the default.