/equal-access

IBM Equal Access Accessibility Checker contains tools to automate accessibility checking from a browser or in a continuous development/build environment

Primary LanguageJavaScriptApache License 2.0Apache-2.0

equal-access

This Git repository hosts tools and supporting components of the IBM Equal Access Toolkit. The Toolkit provides the tools and guidance to create experiences that are delightful for people of all abilities. The guidance is organized by phase, such as Plan, Design, Develop, and Verify, and explains how to integrate these automated testing tools into the Verify phase. The Toolkit is a major part of the accessibility information and applications at ibm.com/able.

Overview

This README covers topics for users who want to find and install the deployed tools as well as topics for developers who want to better understand the various components and build the tools themselves.

The wiki contains overview information, links to videos, and other resources. See the Release Notes for the latest deployed changes in the tools, rules, and components.

Usage

The tools have been deployed to the browser and NPM stores so they can be easily downloaded and installed.

Browser extensions

The browser extensions provide an integrated checking experience and visualizations to help users quickly identify the source of accessibility issues and try fixes:

  • Chrome Web Store extension : web browser extension that integrates automated accessibility checking capabilities into the Chrome Developer Tools.
  • Firefox Add-on extension : web browser extension that integrates automated accessibility checking capabilities into the Firefox Web Developer Tools.
  • Edge Add-on extension : web browser extension that integrates automated accessibility checking capabilities into the Edge Developer Tools.

Automated testing packages

  • Node accessibility-checker: automated accessibility testing within a continuous integration pipeline, such as Travis CI for Node-based test environments, that works with test frameworks such as Selenium, Puppeteer, Playwright, and Zombie; and provides the ability to validate results against baseline files, and scan local files.
  • Karma-accessibility-checker: automated accessibility testing for the Karma environment.
  • Cypress-accessibility-checker: wrapper of the accessibility-checker in the Cypress environment.

Requirements for building the tools

Clone Repository

$ git clone --branch=master https://github.com/IBMa/equal-access.git
$ cd equal-access

or with SSH

$ git clone --branch=master git@github.com:IBMa/equal-access.git
$ cd equal-access

Install dependencies

Under the equal-access directory

npm install

Now you can select the tool you want to build and follow the tool's README instructions located in its sub-directory.

What's in this repository?

Please review the README of the selected tool for more information specific to that tool

Tools

Components

Build

Build all the tools and components from the root directory or build each individual tool separately.

Build all the tools from root directory

cd to equal-access if you are not already in the root directory, then run:

$ npm install
$ npm run build

All the following libraries or tools are built by running the above commands

  • In the equal-access/accessibility-checker-engine/dist directory
    • ace-debug.js: uncompressed javascript to be used in a browser environment for development
    • ace.js: compressed javascript to be used in a browser environment for production
    • ace-node-debug.js: uncompressed javascript library to be used in a NodeJS environment for development
    • ace-node.js: compressed javascript library to be used in a NodeJS environment for production
  • In the equal-access/accessibility-checker/package directory
    • JavaScript source that can be installed or deployed as npm package that works with an HTML parsing engines, such as Selenium, Puppeteer, Playwright, or Zombie to allow developers to perform integrated accessibility testing within a continuous integration pipeline, such as Travis CI. Please view more details.
  • In the equal-access/karma-accessibility-checker/package directory
    • javascript source that can be used as a Karma plugin, see more details.

Build each individual tool separately

Please check the README for each individual tool for its build instructions:

Feedback and reporting bugs

If you think you've found a bug, have questions or suggestions, open a GitHub Issue. If you are an IBM employee, feel free to ask questions in the IBM internal Slack channel #accessibility-at-ibm.

License

IBM Equal Access Toolkit is released under the Apache-2.0 license