Name: a11y
Owner: Pivotal Cloud Foundry
Description: Accessibility audit tooling for the web (alpha)
Created: 2015-07-21 16:48:00.0
Updated: 2015-07-21 16:48:00.0
Pushed: 2015-09-16 16:45:56.0
Homepage: http://addyosmani.github.io/a11y/
Size: 43115
Language: JavaScript
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Easy accessibility audits powered by the Chrome Accessibility Tools.
m install --global a11y
PhantomJS, which is used for generating the screenshots, is installed automagically, but in some rare cases it might fail to and you'll get an Error: spawn EACCES
error. Download PhantomJS manually and reinstall a11y
if that happens.
Run an audit against a URL:
1y todomvc.com
or multiple URLs:
1y todomvc.com google.com
Also works fine against localhost:
1y localhost:9000
and local files:
1y index.html
even with glob patterns:
1y **/*.html
1y --help
Type: String Default: 1024x768
1y --viewport-size=800x600
Type: Number (seconds) Default: 1
1y --delay=5
Useful when the site does things after load that you want to capture.
1y <url> --verbose
1y <url> > audit.txt
Audit a remote URL and generate an accessibility report:
a11y = require('a11y');
('twitter.com', function (err, reports) {
var audit = reports.audit; // a11y Formatted report
var report = reports.report; // DevTools Accessibility Audit formatted report
Work with the output of reports.audit
:
a11y = require('a11y');
('twitter.com', function (err, reports) {
reports.audit.forEach(function (el) {
// result will be PASS, FAIL or NA
if (el.result === 'FAIL') {
// el.heading
// el.severity
// el.elements
}
});
Passing options:
a11y = require('a11y');
options = {
ewportSize: '800x600'
('twitter.com', options, function (err, reports) {
// ...
Currently, the only suported option is:
viewportSize
(String in format WIDTHxHEIGHT, eg 800x600
)To interpret how to fix individual issues in an audit, see the Audit Rules section of the Accessibility Developer Tools project.
Per the Accessibility Developer Tools, the results in an audit may be one of three types:
PASS
- implies that there were elements on the page that may potentially have failed this audit rule, but they passed. Congratulations!FAIL
- This implies that there were elements on the page that did not pass this audit rule. This is the only result you will probably be interested in.NA
- This implies that there were no elements on the page that may potentially have failed this audit rule. For example, an audit rule that checks video elements for subtitles would return this result if there were no video elements on the page.If you use Grunt, grunt-a11y is a task by Joćo Figueiredo that uses a11y
under the hood.
At this time, this module should be relatively reliable when auditing for accessibility issues in static sites.
We are actively working on exploring support for complex web-applications, including those using JavaScript libraries such as Polymer, Angular and React/Flux. We hope to bring this work to the main master branch once it is considered stable.
Apache-2.0