Effortlessly sniff your web application for accessibility issues!
Sniffybara is a modified Selenium driver for Capybara that scans for 508 accessibility compliance between steps. It uses the Axe accessibility scanner to perform accessibility checks.
Sniffybara is not hosted in RubyGems.org right now. In the meantime, import it via git by adding the following file to your Gemfile
gem 'sniffybara', git: 'https://github.com:department-of-veterans-affairs/sniffybara.git'
Then install the gems:
$ bundle install
By default, Sniffybara uses Chrome, which will require you to install the Selenium chromedriver
$ brew install chromedriver
Then, for any files you'd like to be checked for accessibility add the following lines to the top of that file.
require "capybara"
Capybara.default_driver = :sniffybara
It is recommended that you use the run_configuration_file to pass in options for Axe.run() following the format specified in the Axe API
If you want any accessibility errors to not raise an error, just add them to the exceptions:
Sniffybara::Driver.accessibility_code_exceptions << "WCAG2AA.Principle1.Guideline1_3.1_3_1.F68"
If you want to completely omit a page from accessibility testing, set the path_exclusions
option:
Sniffybara::Driver.path_exclusions << /pattern-to-omit/
If you're interested in contributing, or have ideas We'd love for you to help! Leave a github issue on the repository or contact @shanear.