Impact on users
The following is an overview of common JavaScript accessibility errors, and their impact on users with a disability:
- Non-text content which has no text-equivalent
- If visual information has no text equivalent, assistive technologies will not be able to relay that information to the user.
- If interactive components do not have a descriptive label, people who use assistive technologies, or who have a cognitive disability, may not understand what it is.
- Functionality which is not operable with the keyboard
- If interactive content can’t be operated with the keyboard, it will be entirely inaccessible to people who can’t use a mouse or pointing device.
- Information which can’t be programmatically determined
- If information is inserted using non-standard methods like inner HTML, it may not be programmatically available to assistive technologies, and therefore can’t be relayed to the user.
- If scripting is used to implement standard functionality, assistive technologies will not understand what it is, and will therefore not be able to describe it or provide the appropriate keystrokes.
- If custom widgets are built using non-semantic markup, assistive technologies will similarly fail to understand what they are.
- Timed activity which can’t be controlled
- Some people take much longer than others to read content, either because of a cognitive disability, or because they can only focus on a few words at once, or because it takes longer to listen to synthesized speech than to visually read. It would be confusing and disorientating for people if content were to change while they were reading it.
- Continual animation or flickering effects may trigger a seizure in someone who has photosensitive epilepsy. It’s also more difficult for someone with a cognitive disability to ignore these effects, which makes the actual content harder to focus on.
- Failing to maintain a logical focus order
- Navigating with the keyboard is a one-dimensional process, and users who rely on speech output can only hear one thing at a time, so content which is not in a logical order is harder to comprehend and use. When a keyboard user presses a button and new interactive content appears, they’ll expect that content to be immediately next in the Tab order, not to have to jump around the page to get to it.
- Interactive content that can’t be used without JavaScript, which is present without it
- Selecting a link or button which then does nothing at all, is confusing and frustrating for any user, but particularly to someone who has a cognitive disability.