Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Three Developer Behaviors to Eliminate 85 Percent of Accessibility Defects


Published on

Sean Kelly and Thomas F. Dinkel present Three Developer Behaviors to Eliminate 85 Percent of Accessibility Defects at CSUN 2018

Published in: Technology
  • Login to see the comments

Three Developer Behaviors to Eliminate 85 Percent of Accessibility Defects

  1. 1. Thomas F. Dinkel “Dink” • • • • •
  2. 2. Seán Kelly • • • • •
  3. 3. Outline
  4. 4. Intro
  5. 5. 85% ?!?
  6. 6. Good code is a major part of WCAG 2.0
  7. 7. HTML is a standard HTML - Hypertext Markup Language, a standardized system for tagging text files to achieve font, colour, graphic, and hyperlink effects on World Wide Web pages. -- Hypertext Markup Language (HTML) is the standard markup language for creating web pages and web applications. -- HTML - HyperText Markup Language: a set of standards, a variety of SGML, used to tag the elements of a hypertext document. It is the standard protocol for formatting and displaying documents on the World Wide Web. -- HTML is the standard markup language for creating Web pages. --
  8. 8. We all benefit from the standard HTML Specification (W3C) Browser Developers Assistive Technology Developers Web Site / Web Application Web Browser Screen Reader All Your Users (real people) Web Application Developers
  9. 9. The contract model with accessibility APIs From the Web Accessibility Initiative’s “Accessible Rich Internet Applications”
  10. 10. FirefoxInternet Explorer 11 Edge Safari VoiceOver JAWS NVDA TalkBack Browsers and Assistive Technologies
  11. 11. Browser and Assistive Technology combinations (BrAT) Sometimes, even when HTML is valid and follows the standard, users may get different experiences with different BrATs (for example: IE11+JAWS verses Firefox + JAWS). In our experience, good, clean, standard HTML always does better than bad code. Browsers can fix-up bad HTML to some degree so that it looks right, but it can still be presented incorrectly by different BrATs. When things are a lot different between BrATs, there is often a code validation issue behind it.
  12. 12. Bad code example: a block breaking a block element
  13. 13. Bad code example: Bad parent-child relationship
  14. 14. Custom elements • •
  15. 15. Bad code example: custom element causing an unknown relationship
  16. 16. How strict should we be with custom attributes • • • •
  17. 17. Valid custom attributes • •
  18. 18. Good code example: custom attributes • •
  19. 19. Why isn’t HTML validation being done? “It looks right in my browser” But will that still be true after the next major browser update? “With HTML5, all HTML is valid” HTML5 is very flexible, but not that flexible. “HTML validation is: • too hard • takes too much time • plagued with false positives “Most of the big player’s sites don’t pass” Can you afford the same risk that they can? “We’ve seen valid HTML that isn’t accessible” And we’ve seen invalid HTML that is. “I don’t write HTML” The JS framework we use generates the HTML, and they must know what they’re doing.
  20. 20. HTML Validation Options
  21. 21. Things to Watch For
  22. 22. Other benefits of valid HTML • • • • •
  23. 23. Accessibility Testing Tools
  24. 24. Accessibility Testing Tools
  25. 25. aXe
  26. 26. WCAG Requirement
  27. 27. AT Depends on Effective Keyboard Support
  28. 28. All Users Benefit from Effective Keyboard Support
  29. 29. Everything via Keyboard
  30. 30. Most-basic Keyboard Behaviors
  31. 31. Expected Keyboard Behaviors
  32. 32. Try it with a screen reader
  33. 33. Learn a little at a time
  34. 34. Getting started with screen reader - Resources
  35. 35. Summary 1. 2. 3. •
  36. 36. Benefits and Early Inclusion in Process •
  37. 37. Thomas Dinkel @phrenishious Seán Kelly @sk55408