Ruby integration for aXe-core, the accessibility testing engine
Clone or download
stephenmathieson ci: fix `gem push` command (#49)
This patch adds a missing `ls` to our `.circleci/` script. I have no idea why I removed it in #46, as nothing works without it.

`/giphy facepalm`

## Reviewer checks

**Required fields, to be filled out by PR reviewer(s)**
- [ ] Follows the commit message policy, appropriate for next version
- [ ] Has documentation updated
- [ ] Includes new tests, or was unnecessary
- [ ] Code is reviewed for security by: << Name here >>
Latest commit 04349af Oct 4, 2018


Automated accessibility testing powered by aXe.

Provides Cucumber step definitions and RSpec matchers for auditing accessibility.

Uses the aXe core javascript library for accessibility testing.


We believe that automated testing has an important role to play in achieving digital equality and that in order to do that, it must achieve mainstream adoption by professional web developers. That means that the tests must inspire trust, must be fast, must work everywhere and must be available everywhere.


  1. Automated accessibility testing rules must have a zero false positive rate
  2. Automated accessibility testing rules must be lightweight and fast
  3. Automated accessibility testing rules must work in all modern browsers
  4. Automated accessibility testing rules must, themselves, be tested automatically

Getting Started


Add this line to your application's Gemfile:

gem 'axe-matchers'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install axe-matchers



A set of step definitions have been provided for accessibility testing through Cucumber, using WebDrivers.

Read the documentation for the Cucumber Integration.


A set of matchers have been provided for accessibility testing through RSpec using WebDrivers.

Read the documentation for the RSpec Integration

The Accessibility Rules

axe-matchers uses axe-core@3x, which can test for accessibility inside of Shadow DOM HTML subtrees. See the axe-core repository for more information.

The complete list of rules run by axe-core can be found in doc/


axe-matchers supports Capybara, Selenium, and Watir webdrivers; each tested with Firefox, Chrome, and Safari. Additionally, selenium-chrome-headless and capybara-webkit are supported.



Read the documentation on contributing