Crawl a site, run pa11y on every HTML page, and get the results

Usage no npm install needed!

<script type="module">
  import pa11yCrawl from '';



For testing the accessibility of website, pa11y is a great tool. It only runs on one page at a time, though, so this tool crawls a site to find all HTML pages and runs pa11y on each one.

It is also designed to be used as the data collection tool for continua11y, a continuous integration service for web accessibility.


npm install -g pa11y-crawl

jq is also required in order to manipulate JSON files. See that project's download instructions to install it.


Basic usage

pa11y-crawl [URL]

Advanced usage

Usage: pa11y-crawl [options] <URL>

  -c, --continua11y     set continua11y URL (default:
  -d, --directory       use an existing local directory instead of wget
  -h, --help            show this help message and exit
  -i, --ci              continuous integration mode; incorporates repo metadata and sends a report to continua11y
  -m, --sitemap         use the site's sitemap.xml to find pages, rather than wget spider
  -o, --output          set output file for report (default: ./results.json)
  -q, --quiet           quiet mode
  -s, --standard        set accessibility standard (Section508, WCAG2A, WCAG2AA (default), WCAG2AAA)
  -t, --temp-dir        set location for storing temporary files (default: ./temp)
  -v, --version         show program version and exit

Public domain

This project is in the worldwide public domain. As stated in CONTRIBUTING:

This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.

All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.