Accessibility (a11y) is a measure of a computer system's accessibility is to all people,
including those with disabilities or impairments. It concerns both software and hardware
and how they are configured in order to enable a disabled or impaired person to use that
computer system successfully.
Setting the Stage for Accessibility Testing
Issues to be aware of:
color blindness(Deuteranopia, Protanopia, Tritanopia)
Section 508 is the amendment to the United States Workforce Rehabilitation Act of 1973, a federal law mandating that all electronic and
information technology developed, procured, maintained, or used by the federal government be accessible to people with disabilities.
Published December 21, 2000
Part of the Federal Acquisition Regulation (FAR) - address access for people with physical, sensory, or cognitive disabilities
Updated on January 17th, 2017 - this integrated WCAG 2.0
For all other non-procured ICT, federal agencies and contractors must comply with the updated 508 Standards beginning on January 18, 2018.
A text equivalent for every non-text element shall be provided (e.g., via “alt”, “longdesc”, or in element content).
Equivalent alternatives for any multimedia presentation shall be synchronized with the presentation.
Web pages shall be designed so that all information conveyed with color is also available without color, for example from context or markup.
Documents shall be organized so they are readable without requiring an associated style sheet.
Redundant text links shall be provided for each active region of a server-side image map.
Client-side image maps shall be provided instead of server-side image maps except where the regions cannot be defined with an available geometric shape.
Row and column headers shall be identified for data tables.
Markup shall be used to associate data cells and header cells for data tables that have two or more logical levels of row or column headers.
Frames shall be titled with text that facilitates frame identification and navigation.
Pages shall be designed to avoid causing the screen to flicker with a frequency greater than 2 Hz and lower than 55 Hz.
A text-only page, with equivalent information or functionality, shall be provided to make a web site comply with the provisions of this part, when compliance
cannot be accomplished in any other way. The content of the text-only page shall be updated whenever the primary page changes.
When pages utilize scripting languages to display content, or to create interface elements, the information provided by
the script shall be identified with functional text that can be read by assistive technology.
When a web page requires that an applet, plug-in or other application be present on the client system to interpret page content, the page must provide a
link to a plug-in or applet that complies with §1194.21(a) through (l).
When electronic forms are designed to be completed on-line, the form shall allow people using assistive technology to access the information, field elements,
and functionality required for completion and submission of the form, including all directions and cues.
A method shall be provided that permits users to skip repetitive navigation links.
When a timed response is required, the user shall be alerted and given sufficient time to indicate more time is required.
Major Changes- Final Update
Restructuring provisions by functionality instead of product type due to the increasingly multi-functional capabilities of ICT;
Incorporating the Web Content Accessibility Guidelines (WCAG) 2.0 by reference and applying Level A and Level AA Success Criteria
and Conformance Requirements to websites, as well as to non-web electronic documents and software;
Specifying the types of non-public facing electronic content that must comply;
Requiring that operating systems provide certain accessibility features;
Clarifying that software and operating systems must interoperate with assistive technology (such as screen magnification software and refreshable braille displays);
Addressing access for people with cognitive, language, and learning disabilities; and
Harmonizing the requirements with international standards.
Pa11y is your automated accessibility testing pal. It runs HTML CodeSniffer from the command line for programmatic accessibility reporting.
Pa11y + Puppeteer
Let's test some websites!
pa11y cli is fun ...
but not super useful in a typical workflow
From the cli
Run an accessibility test against a url
Use a reporter to output results to a file (csv,tsv,html,json,markdown)
Choose the accessibility ruleset
Choose to ignore warnings and notices
CI runs accessibility tests against multiple URLs and reports on any issues.
This is best used during automated testing of your application and can act as
a gatekeeper to stop a11y issues from making it to live.
Define your fail threshold
How many errors before "failure" is determined
Using the JS Interface
Sets of instructions to run before accessibility tests are run.