No description, website, or topics provided.
Ruby Gherkin
Latest commit be2f935 May 11, 2017 @dylanb dylanb committed on GitHub Merge pull request #21 from dequelabs/circle
Adds Circle Build

README.md

axe-matchers

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.

Philosophy

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.

Manifesto

  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

Installation

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

Usage

Cucumber

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

Read the documentation for the Cucumber Integration.

RSpec

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

Read the documentation for the RSpec Integration

The Accessibility Rules

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

WebDrivers

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

Notes:

  • Auditing IFrames is not suppored in Poltergeist < 1.8.0. Upgrade to 1.8.0+ or set skip_iframes=true in Axe.configure
  • Chrome requires ChromeDriver (tested with 2.21)
  • Safari requires SafariDriver (tested with 2.48)

Contributing

Read the documentation on contributing