Skip to content

The A11y Machine is an automated accessibility testing tool which crawls and tests pages of any web application to produce detailed reports.

Notifications You must be signed in to change notification settings

watermelonexpress/TheA11yMachine

 
 

Repository files navigation

Liip
presents
The Accessibility Testing Machine modified by BenchPrep


The A11y Machine

Version Downloads License

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:

Table of contents

Installation

NPM is required. Then, execute the following lines:

$ npm install -g the-a11y-machine

You need to install Java.

Usage

./a11ym --user-id [user_id] --user-auth-token [auth_token] --login-url https://act.staging.benchprep.com/api/v2/sessions/companion-auth --verbose true

Output Example

The index of the reports:

Index of the report

Report of a specific URL:

Report of a specific URL

The dashboard of all reports:

Dashboard of all reports

How does it work?

The pipe looks like this:

  1. 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,
  2. For each URL found, 2 kind of tests are applied:
    1. Accessibility: PhantomJS runs and HTML_CodeSniffer is injected in order to check the page conformance; This step is semi-automated by the help of pa11y, which is a very thin layer of code wrapping PhantomJS and HTML_CodeSniffer,
    2. HTML: The Nu Html Checker (v.Nu) is run on the same URL.
  3. 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.

Authors and license

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

BSD-3-Clause:

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:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. 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.

  3. 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.

About

The A11y Machine is an automated accessibility testing tool which crawls and tests pages of any web application to produce detailed reports.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 48.9%
  • JavaScript 48.5%
  • CSS 2.4%
  • Makefile 0.2%