Skip to content
♿️ A suite of end-to-end tests to check if your application is compliant with the WAI-ARIA authoring practices.
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
common
examples
.gitignore
LICENSE.md
README.md
package.json
yarn.lock

README.md

WAI-ARIA Authoring Practices End-to-end tests

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.

Proof of concept

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

npm i -D wai-aria-practices-tests

Examples

Bootstrap the project:

npm i

Run the tests with node:

npm run example:node

Run the tests with Jest:

npm run example:jest

How it works

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.

License

MIT

You can’t perform that action at this time.