presents
The Accessibility Testing Machine modified by BenchPrep
The A11y Machine (or a11ym
for short, spelled “alym”) is an automated
accessibility testing tool which crawls and tests pages of any Web
application to produce detailed reports. It validates pages against the
following specifications/laws:
- W3C Web Content Accessibility Guidelines (WCAG) 2.0, including A, AA and AAA levels (understanding levels of conformance),
- U.S. Section 508 legislation,
- W3C HTML5 Recommendation.
NPM is required. Then, execute the following lines:
$ npm install -g the-a11y-machine
You need to install Java.
./a11ym --user-id [user_id] --user-auth-token [auth_token] --login-url https://act.staging.benchprep.com/api/v2/sessions/companion-auth --verbose true
The index of the reports:
Report of a specific URL:
The dashboard of all reports:
The pipe looks like this:
- The
node-simplecrawler
tool is used to crawl a Web application based on the given URLs, with our own specific exploration algorithm to provide better results quickly, in addition to support parallelism, - For each URL found, 2 kind of tests are applied:
- Accessibility: PhantomJS runs and
HTML_CodeSniffer
is injected in order to check the page conformance; This step is semi-automated by the help ofpa11y
, which is a very thin layer of code wrapping PhantomJS andHTML_CodeSniffer
, - HTML: The Nu Html Checker (v.Nu) is run on the same URL.
- Accessibility: PhantomJS runs and
- Finally, results from different tools are normalized, and enhanced and easy to use reports are produced.
PhantomJS and HTML_CodeSniffer
are widely-used, tested and precise tools.
pa11y
simplifies the use of these two latters. The Nu Html Checker is the tool
used by the W3C to validate documents online. However, in this case, we do all
validations offline! Nothing is sent over the network. Again, privacy.
Original author is Ivan Enderlin, accompagnied by Gilles Crettenand and David Jeanmonod. This software is backed by Liip. Modifications were done by Chris Jackson for BenchPrep specific needs
Copyright (c), Ivan Enderlin and Liip All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.