Overview

PayPal provides an excellent library that extends a few of Bootstrap's default complex components to enhance use with Assistive Technologies. Using a correct structure alleviates the need to provide custom event handling and keyboard navigation. The caveat is the structure must be closely followed. The PayPal assistive library enhances the following components:

Nearly every custom component we use can be abstracted into one of these objects, and as such it would be prudent to abstract these components into views/templates that are easily implemented without the need of a developer to concern him or herself with maintaining the proper structure and roles. That said, PayPal recommends avoiding the carousel object, as it does not adequately meet WCAG 2.0 standards.

This page is meant to serve as an example of implementations and possible uses for each enhanced component, as well as what custom work is needed when all of the events are not handled by default. Enhanced components do not necessarily follow standard Bootstrap patterns, so it would be wise to not follow Bootstrap class patterns when attempting to ensure accessibility.

Not all Assistive Technologies work the same and some default keyboard navigation functionality may be overridden. Also note that some glitches may occur with non linear navigation, such as dropdowns, where Bootstrap handles focus. In these cases the screen reader may attempt to read the following tab-able element before reading the dropdown. This generally can't be avoided, and is a race condition. Another glitch that may occur is that certain items may be read twice.

A few patterns that need to be observed which are currently often not followed:

JUMP TO...