A suite of end-to-end tests to check if your application or website is compliant with the WAI-ARIA authoring practices.
The tests are written to work with Puppeteer and aim to be plug-n-play, i.e. they can test any application or website (some constraints apply).
This repo provides generic test suites that you can run against your applications of websites to test that behaviors of your widget adhere to the WAI-ARIA authoring practices.
Many folks don't spend time on accessibility and I hope that such a tool could encourage them to fix issues in a "test driven development" manner.
Note this is not a static analysis tool that checks for valid HTML [aria] attributes or semantic HTML.
Note this is a proof of concept. Your help and validation is very important to move this project forward.
To start off I am going to try to write tests for modal dialogs. You can find the code for it in common/dialog/index.js
.
npm i -D wai-aria-practices-tests
Bootstrap the project:
npm i
Run the tests with node:
npm run example:node
Run the tests with Jest:
npm run example:jest
The idea is to write generic test that rely only on accessibility properties like aria-roles and, when necessary accept CSS selectors to retrieve elements.
Each suite in common
is generic and uses the Node.js assert
library API to make assertions.
Integrations for jest, AVA etc. would need to map to the assert
interface. You can see an example in the examples/jest
suite.
MIT