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.

Fringe Accessibility: ID24 for GAAD


Published on

If you're familiar with accessibility, you may know some of the basics already. We'll review some newer or more obscure techniques that can help prime you to look at the new hotness features with a more critical eye.

Published in: Internet
  • Be the first to comment

  • Be the first to like this

Fringe Accessibility: ID24 for GAAD

  1. 1. Fringe Accessibility Techniques (That Probably Shouldn’t Be) Presented by Adrian Roselli for Inclusive Design 24 (2016) #ID24
  2. 2. About Adrian Roselli • Co-written four books. • Technical editor for two books. • Written over fifty articles, most recently for .net Magazine and Web Standards Sherpa. Great bedtime reading! #ID24
  3. 3. About Adrian Roselli • Member of W3C HTML Working Group*, W3C Accessibility Task Force, five W3C Community Groups. • Building for the web since 1993. • Business owner / founder, ~20 years. • Now independent / at The Paciello Group. • Learn more at • Avoid on Twitter @aardrian. I warned you. #ID24
  4. 4. What is a11y? • A numeronym for “accessibility”: • The first and last letter (accessibility), • The number of characters omitted (a11y). • Prominent on Twitter (character restrictions): • #a11y • Examples: • l10n → localization • i18n → internationalization Ain’t language funsies? #ID24
  5. 5. What We’ll Cover • Common(?) Techniques • The (not really) Fringe • Key Takeaways Work with me, people. #ID24
  6. 6. Common(?) Techniques 1 of 3 sections. #ID24
  7. 7. Common(?) Techniques • Click on field labels Make sure the corresponding field gets focus. #ID24
  8. 8. Common(?) Techniques • Click on field labels • Unplug your mouse Make sure you can still use the page / application. #ID24
  9. 9. Common(?) Techniques • Click on field labels • Unplug your mouse • Turn off images Make sure no important content has disappeared. #ID24
  10. 10. Common(?) Techniques • Click on field labels • Unplug your mouse • Turn off images • Turn off CSS Make sure the page still makes sense. #ID24
  11. 11. Common(?) Techniques • Click on field labels • Unplug your mouse • Turn off images • Turn off CSS • Check color contrast Make sure it’s sufficient. #ID24
  12. 12. Common(?) Techniques • Click on field labels • Unplug your mouse • Turn off images • Turn off CSS • Check color contrast • Consider hyperlink text Be consistent and clear, managing expectations the whole time. #ID24
  13. 13. The (not really) Fringe 2 of 3 sections. #ID24
  14. 14. Use Link Underlines #ID24
  15. 15. Use Link Underlines • You are not Google: • Users know Google’s layout, • Users probably don’t visit your site daily. • Relying on color alone will not suffice (WCAG 1.4.1 [A], 1.4.3 [AA]), • Necessary contrast values: • 4.5:1 between text and its background for copy, • 3:1 between text and its background for larger text, • 3:1 between surrounding text and a hyperlink, plus an additional visual cue (G183). #ID24
  16. 16. Use :focus Styles #ID24
  17. 17. Use :focus Styles #ID24
  18. 18. Use :focus Styles • Particularly if you removed link underlines, • Everywhere you have :hover, add :focus, • Look for :focus{outline:none;} in libraries: • If you find it, remove it. • Easy to test with the tab key. #ID24
  19. 19. Use <h#> Wisely #ID24
  20. 20. Use <h#> Wisely • Use only one <h1> per page, • Don’t skip heading levels, • Use appropriate nesting, • There is no Document Outline Algorithm: • Don’t use <h1> within every new <section> nor <article>, • This will not affect your SEO. #ID24
  21. 21. Use Only One <main> per Page Modified version of Hixie’s image at #ID24
  22. 22. Use Only One <main> per Page • <main> maps directly to role="main", • AT users expect one main content block, may miss subsequent <main>s, • AT doesn’t expose that there are multiples, • Can erode trust in landmark navigation. #ID24
  23. 23. Source Order Matters Firefox Chrome #ID24
  24. 24. Source Order Matters • CSS techniques allow visual order to break from DOM order: • Floats, • Absolute positioning, • Flexbox (see 5.4.1 of ED for a11y note), • Grid (read Rachel Andrew on subgrid). • WCAG 1.3.2 and 2.4.3 describe meaningful sequence and tab order matching visual flow, • Different behavior among different browsers. #ID24
  25. 25. Don’t Use tabindex > 0 #ID24
  26. 26. Don’t Use tabindex > 0 • tabindex="-1" • Use to set focus with script, • Does not put it in tab order of page. • tabindex="0" • Allows user to set focus (eg: via keyboard), • Puts in tab order of page (based on DOM). • tabindex="1" (or greater) • Do not do this, • Messes with natural tab order. #ID24
  27. 27. Maybe Use tabindex=0 #ID24
  28. 28. Maybe Use tabindex=0 • Do you have scrolling content boxes? • Keyboard users probably cannot access it. • Do you have content that expands on hover? • Keyboard users probably cannot access it. • A technique: • <div role="region" aria-label="[if appropriate]" tabindex="0"> #ID24
  29. 29. <button>, <input>, or <a> #ID24
  30. 30. <button>, <input>, or <a> #ID24
  31. 31. <button>, <input>, or <a> • Don’t use a <div> nor <span>. • Does the control take me to another URL? • Use an <a href>. • Note: does not fire on space-bar. • Does the control change something on the current page? • Use a <button>. • Does the control submit form fields? • Use a <input type="submit"> or <button type="submit">. #ID24
  32. 32. Set lang attribute on <html> #ID24
  33. 33. Set lang attribute on <html> #ID24
  34. 34. Set lang attribute on <html> • VoiceOver uses to auto-switch voices, • VoiceOver uses appropriate accenting, • JAWS loads correct phonetic engine / phonologic dictionary, • NVDA matches VoiceOver and JAWS, • Use the correct lang value: • Sub-tags are ok, • Avoid private-use: en-GB-x-hixie #ID24
  35. 35. Don’t Disable Zoom #ID24
  36. 36. Don’t Disable Zoom • Allow users on mobile to zoom in, • Look in <meta name="viewport"> for this: • minimum-scale=1.0 • maximum-scale=1.0 • user-scalable=no • Look in @-ms-viewport {} for this: • zoom:1.0 • Grab your boss/client, shout “Enhance!” • (Google AMP HTML is getting fixed) #ID24
  37. 37. Use Captions/Subtitles #ID24
  38. 38. Use Captions/Subtitles #ID24
  39. 39. Use Captions/Subtitles • Everybody uses them: • Working in public, in bed, at home, • Surfing in public, in bed, at work. • Should include audio descriptions, • Should include speaker identification, • Review auto-captions (“craptions”): • #ID24
  40. 40. Use Captions/Subtitles • Do video/audio clips have text alternatives? • Are links to closed-captions or transcripts built into the player or separate text links? • Is there an audio description available? • Tools: • Media Access Australia YouTube captioning tutorial, Vimeo captioning tutorial, • Tiffany Brown’s WebVTT tutorial, • DIY Resources for Closed Captioning and Transcription from 3 Play Media. #ID24
  41. 41. Test in Windows High Contrast Mode #ID24
  42. 42. Test in Windows High Contrast Mode • It removes CSS background images, • This is changing in Edge, • Colors defined in your CSS are overridden, • To activate: • Left ALT + left SHIFT + PRINT SCREEN • Media queries: • -ms-high-contrast: active • -ms-high-contrast: black-on-white • -ms-high-contrast: white-on-black #ID24
  43. 43. Avoid Infinite Scroll #ID24
  44. 44. Avoid Infinite Scroll • Makes it impossible to access some content: • Footer, • Sidebar links. • Destroys the back button, • Makes it impossible to share a URL to specific “page” of results, • Makes it impossible to jump ahead several “pages” of results, • Can overwhelm AT users, less powerful devices. #ID24
  45. 45. Reconsider Typefaces for Dyslexia #ID24
  46. 46. Reconsider Typefaces for Dyslexia • Use good typography rules: • Avoid justified text, • Use generous line spacing / leading, • Use generous letter spacing, • Avoid italics, • Generally use sans serif faces, • Use larger text, • Use good contrast, • Use clear, concise writing. #ID24
  47. 47. Use On-Page Descriptions #ID24
  48. 48. Use On-Page Descriptions • Not just for longdesc or aria-describedat, but any long description technique, • Use an in-page anchor, • Don’t link to another page without reason: • Consider burden of loading a new page, • Consider burden of re-loading original page. • Based on results of latest WebAIM screen reader survey results. #ID24
  49. 49. role="search" on <form> is OK #ID24
  50. 50. role="search" on <form> is OK • Now OK to use <form role="search">, • Walking back my own prior statements, • (think of this as a retraction) • Nu Html Checker is already updated. #ID24
  51. 51. Try Not to Tweet Pictures of Text #ID24
  52. 52. Try Not to Tweet Pictures of Text #ID24
  53. 53. Try Not to Tweet Pictures of Text • Twitter has finally added alternative text, • Must be using iOS/Android app, some third- party apps (TweetBot), • Alternative text not exposed via web, not in Twitter back-ups (yet), • Maybe also make your own: • Reply to own tweet with alt text, • Link to a tweet and provide alt text, • Link to long-form alternative text. #ID24
  54. 54. Share a11y Experiences #ID24
  55. 55. Share a11y Experiences • We’re all trying to do what we can, • Don’t attack those who doesn’t know what they don’t know, • Someone may find something you never considered, • You may get feedback on something you never considered, • FTW: • Thanks to Marcy Sutton. #ID24
  56. 56. Key Takeaways 3 of 3 sections. #ID24
  57. 57. ≠ Checklist • Accessibility is not a checklist. No matter how pretty that checklist looks now how many items you get to check. #ID24
  58. 58. Stairamp Dean Bouchard on Flickr #ID24
  59. 59. = Process • Accessibility is not a checklist. • Accessibility is an ongoing process. You know, kinda like all software. #ID24
  60. 60. Snowtreeramp Nicolas Steenhout “Wheelchair ramp at pharmacy not only hasn’t been cleared of snow but has 2 potted trees to ensure nobody can pass.” #ID24
  61. 61. Oslo Davis, #ID24
  62. 62. Fringe Accessibility Techniques (That Probably Shouldn’t Be) Presented by Adrian Roselli for Inclusive Design 24 (2016) #ID24 Slides from this talk will be available at