Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JavaScript and Accessibility: Creating Interface Magic for Everyone

JavaScript and Accessibility: Creating Interface Magic for Everyone

In this talk I look at a few ways in which JavaScript actually helps make web sites more accessible despite the bad name it might have in some accessibility circles.

Derek Featherstone

September 25, 2012
Tweet

More Decks by Derek Featherstone

Other Decks in Design

Transcript

  1. • “people with disabilities turn JavaScript off” • “I can’t

    use JavaScript if I want it to be accessible” Myths and Misconceptions
  2. • “people with disabilities turn JavaScript off” • “I can’t

    use JavaScript if I want it to be accessible” • “Screen readers don’t support JS” Myths and Misconceptions
  3. • “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>” Myths and Misconceptions
  4. • “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” Myths and Misconceptions
  5. • “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” Myths and Misconceptions false
  6. • 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 To do this well...
  7. • 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> Focusable Controls
  8. function keyDown(event) { // Prevent default keyboard action // (like

    navigating inside the page) return (fn(code, options.closeKeys) >= 0) ? close() : (fn(code, options.nextKeys) >= 0) ? next() : (fn(code, options.previousKeys) >= 0) ? previous() : false; }
  9. • usability issues • MUST test for: success case error

    case the “correction” case not “killing” other keyboard functionality Keyboard Interactivity
  10. Accessibility consulting, strategy and assessments Accessible development and remediation services

    Training courses, workshops and conferences simplyaccessible.com [email protected] (613) 599-9784 @feather (on twitter) Derek Featherstone