a11ygato is a suite of tools to help audit web site accessibility. A score (KPI) is computed per audit. This project is a fork of pa11y.
- Node 8+
- Npm 6+
- MongoDB 3
Launching the dashboard
- Git clone this repo
- Install dependencies:
- Build all modules:
npm run build
- Start a mongo instance in another terminal:
mongod --dbpath data
- An empty data folder is created so you can have your database locally while developing or testing
- for development, you will probably be good to go with each project default configuration file but you might want to configure them in dashboard and webservice
configfolder. Read the documentation of each project to better understand what you can configure.
- Start the dashboard:
- Open it in a modern browser:
The dashboard is a tool for decision makers that allows the monitoring accross time of sites accessibility score:
- score computing
- crawling with optional concurrency (max 5 urls)
- puppeteer scripts execution
- url filtering to audit part of a domain
- Historically, it is composed of two node servers:
dashboardis an express node server that serves html pages (this is the frontend)
webserviceis an hapi node server that serves json data (this is the backend)
The dashboard uses a couple of private keys to handle the HTTPS protocol and JWT authentication.
Default ones have been generated for development inside the
For HTTPS, the certificate declare a
pally hostname for development.
You might want to add a local alias for
127.0.0.1 in your OS hosts file to avoid a warning from your browser the first time.
For instance for unix systems, it is
… 127.0.0.1 localhost 127.0.0.1 pally …
You can then open
https://pally:8443 instead of
WARNING: these auto-generated keys are for development only! For production, you should create your own ones!
You need a mongo instance. You can configure its address in the webservice's profile file (
using a custom profile
You can add new profiles by creating new files in
You must use the same name in both.
You can then choose which profile to start/restart/delete either:
- by modifying
.npmrcat the root
- by overriding
.npmrcconfig at the command line
npm run start|restart|delete [--env=<profile name without extension>]
npm run start --env=integration
Installing the CLI
npm i -g @a11ygato/cli
cli is a tiny wrapper around the
audit-engine that allows to start an audit (url or script) from the command line and generate a report in return.
Can be used also for continuous integration.
For development, you might want to just use
npm link inside
See the CLI documentation for more.
Installing the audit engine
npm i -S @a11ygato/audit-engine
audit-engine is a node API that execute un audit from a url, a tree of urls or a puppeteer script.
See the API documentation for more.