This document discusses common myths and misconceptions around using JavaScript for accessibility, and provides best practices for creating accessible interfaces with JavaScript. It addresses myths like people with disabilities turning off JavaScript or screen readers not supporting it. It also covers practical tips like using perceivable, operable, understandable and robust (POUR) principles; choosing the right interactive controls; managing focus and linear tab order; anticipating keyboard interactions; and avoiding repetition. The goal is to view accessibility as user experience and account for assistive technologies when using JavaScript.
13. Myths and Misconceptions
• “people with disabilities turn JavaScript
off”
• “I can’t use JavaScript if I want it to be
accessible”
14. Myths and Misconceptions
• “people with disabilities turn JavaScript
off”
• “I can’t use JavaScript if I want it to be
accessible”
• “Screen readers don’t support JS”
15. Myths and Misconceptions
• “people with disabilities turn JavaScript
off”
• “I can’t use JavaScript if I want it to be
accessible”
• “Screen readers don’t support JS”
• “Just use <noscript>...</noscript>”
16. Myths and Misconceptions
• “people with disabilities turn JavaScript
off”
• “I can’t use JavaScript if I want it to be
accessible”
• “Screen readers don’t support JS”
• “Just use <noscript>...</noscript>”
• “when you use onclick, use onkeypress”
17. Myths and Misconceptions
• “people with disabilities turn JavaScript
off”
• “I can’t use JavaScript if I want it to be
accessible”
s e
l
• “Screen readers don’t support JS”
fa • “Just use <noscript>...</noscript>”
• “when you use onclick, use onkeypress”
19. To do this well...
• View accessibility as User Experience
• Understand that accessibility is just as
much a design problem as it is a technical
problem
• Open our minds to account for other
assistive technology and disabilities, not
just blind people using screen readers
39. Focusable Controls
• certain elements take focus by default
<a href> <button> <input>
• can use tabindex=0 to make any element
appear in the tab order (but if you’re doing
this, ask yourself why? and maybe choose
another element)
• often see onclick on random elements
<img> <tr> <td> <div>
77. Keyboard Interactivity
• usability issues
• MUST test for:
success case
error case
the “correction” case
not “killing” other keyboard functionality
94. simplyaccessible.com
Accessibility consulting, strategy and assessments
Accessible development and remediation services
Training courses, workshops and conferences Derek Featherstone
feather@simplyaccessible.com
(613) 599-9784
@feather (on twitter)