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: A11y Camp Toronto 2015

1,043 views

Published on

If you work in accessibility, you probably know some of the basics for supporting users (labels, contrast, alt text). I'll touch on some newer or more obscure techniques that can help prime you to look at the new hotness features with a more critical eye. Instead of pushing code techniques, I’ll review the logic behind these approaches (which you can refute, checking off that elusive audience participation selling point!). We'll discuss the search role, language attribute, <main> element, infinite scroll, page zoom, source order, and as much as I can squeeze in before I am chased from the room.

Published in: Technology
  • Be the first to comment

Fringe Accessibility: A11y Camp Toronto 2015

  1. 1. Fringe Accessibility Techniques (That Probably Shouldn’t Be) Presented by Adrian Roselli for Accessibility Camp Toronto 2015 #a11yTO Slides from this talk will be available at rosel.li/a11yTO
  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. • You might know me from such talks as Selfish Accessibility. Great bedtime reading!
  3. 3. About Adrian Roselli • Member of W3C HTML Working Group*, W3C Accessibility Task Force, five W3C Community Groups. • Building for the web since 1994. • Founder, owner at Algonquin (aHealthTech.com). • Learn more at AdrianRoselli.com. • Avoid on Twitter @aardrian. I warned you.
  4. 4. What is a11y? • A numeronym for “accessibility”: • The first and last letter, • The number of characters omitted. • Prominent on Twitter (character restrictions): • #a11y • Examples: • l10n → localization • i18n → internationalization Ain’t language funsies?
  5. 5. What We’ll Cover • Common(?) Techniques • The (not really) Fringe • Key Takeaways Work with me, people.
  6. 6. Common(?) Techniques 1 of 3 sections.
  7. 7. Common(?) Techniques • Click on field labels Make sure the corresponding field gets focus.
  8. 8. Common(?) Techniques • Click on field labels • Unplug your mouse Make sure you can still use the page / application.
  9. 9. Common(?) Techniques • Click on field labels • Unplug your mouse • Turn off images Make sure no important content has disappeared.
  10. 10. Common(?) Techniques • Click on field labels • Unplug your mouse • Turn off images • Turn off CSS Make sure the page still makes sense.
  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.
  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.
  13. 13. The (not really) Fringe 2 of 3 sections.
  14. 14. Use Link Underlines http://www.theverge.com/2014/3/13/5503894/google-removes-underlined-links-site-redesign 1/16
  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). http://adrianroselli.com/2014/03/i-dont-care-what-google-did-just-keep.html 1/16
  16. 16. Use <h#> Wisely 2/16
  17. 17. 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. http://adrianroselli.com/2013/12/the-truth-about-truth-about-multiple-h1.html 2/16
  18. 18. Use :focus Styles https://www.virginamerica.com/ 3/16
  19. 19. Use :focus Styles • Particularly if you removed link underlines, • Everywhere you have :hover, add :focus, • Look for :focus{outline:none;} in libraries: • Remove it. • Easy to test with the tab key. http://adrianroselli.com/2014/06/keep-focus-outline.html 3/16
  20. 20. Don’t Use tabindex > 0 https://www.digitalgov.gov/2014/11/17/user-experience-impossible-the-line-between-accessibility-and-usability/ 4/16
  21. 21. 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. http://adrianroselli.com/2014/11/dont-use-tabindex-greater-than-0.html 4/16
  22. 22. Don’t Disable Zoom http://codepen.io/aardrian/full/dYNJOV http://codepen.io/aardrian/full/ojBpjw 5/16
  23. 23. 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 • Enhance! • (Google AMP HTML is getting fixed) http://adrianroselli.com/2015/10/dont-disable-zoom.html 5/16
  24. 24. Use Captions/Subtitles https://www.youtube.com/watch?v=V592VMJeXc8 6/16
  25. 25. 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”): • NoMoreCraptions.com http://adrianroselli.com/2013/11/captions-in-everyday-use.html 6/16
  26. 26. Test in Windows High Contrast Mode http://buffalosoccerclub.org/About 7/16
  27. 27. Test in Windows High Contrast Mode • It removes CSS background images, • 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 http://adrianroselli.com/2012/08/css-background-images-high-contrast-mode.html 7/16
  28. 28. Avoid Infinite Scroll http://www.pewresearch.org/category/publications/ 8/16
  29. 29. 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. http://adrianroselli.com/2014/05/so-you-think-you-built-good-infinite.html http://adrianroselli.com/2015/05/for-infinite-scroll-bounce-rate-is.html 8/16
  30. 30. Set lang attribute on <html> http://codepen.io/aardrian/pen/rOGYNL 9/16
  31. 31. 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 http://adrianroselli.com/2015/01/on-use-of-lang-attribute.html 9/16
  32. 32. Reconsider Typefaces for Dyslexia http://opendyslexic.org/try-it/ 10/16
  33. 33. 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. http://adrianroselli.com/2015/03/typefaces-for-dyslexia.html 10/16
  34. 34. Use Only One <main> per Page Modified version of Hixie’s image at https://github.com/whatwg/html/issues/100#issuecomment-138620240 11/16
  35. 35. 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 are multiples, • Can erode trust in landmark navigation. http://adrianroselli.com/2015/09/use-only-one-main-on-a-page.html 11/16
  36. 36. Source Order Matters http://codepen.io/aardrian/full/MavVeb/ Firefox Chrome 12/16
  37. 37. 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. http://adrianroselli.com/2015/09/source-order-matters.html http://200ok.nl/a11y-flexbox/ 12/16
  38. 38. Use On-Page Descriptions http://adrianroselli.com/2014/04/we-need-to-raise-stink-about-net.html 13/16
  39. 39. 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. http://adrianroselli.com/2015/09/use-on-page-image-descriptions.html 13/16
  40. 40. No role="search" on <form> http://codepen.io/aardrian/pen/MaKbPa/ 14/16
  41. 41. No role="search" on <form> • Avoid <form role="search">, • This overrides <form> native semantics: • search: a search facility, which includes a form, • form: a form. • Does not replicate role="form", • Options: • <div role="search"> <form> • <form> <div role="search"> http://adrianroselli.com/2015/08/where-to-put-your-search-role.html 14/16
  42. 42. Don’t Tweet Pictures of Text https://twitter.com/jmspool/status/546303256990076929 https://twitter.com/lukew/status/541986091960528896 https://twitter.com/altonbrown/status/653030164985708544 15/16
  43. 43. Don’t Tweet Pictures of Text • Twitter has no provision for alt text, • Make your own: • Reply to own tweet with alt text, • Link to a tweet and provide alt text, • Link to long-form alternative text. • @alt_text_bot as interesting experiment: • By Cameron Cundiff for NYU ABILITY hackathon, • Uses CloudSight API. http://adrianroselli.com/2014/12/dont-tweet-pictures-of-text.html http://adrianroselli.com/2015/04/twitter-accidentally-takes-step-toward.html http://adrianroselli.com/2015/04/alt-text-bot-image-descriptions-ftw.html 15/16
  44. 44. Share a11y Experiences http://blog.podio.com/2015/07/08/hard-truths-helped-us-start-improving-podio-experience-visually-impaired/ https://medium.com/medium-eng/five-goofy-things-medium-did-that-break-accessibility-3bc804ae818d 16/16
  45. 45. Share a11y Experiences • We’re all trying to do what we can, • Don’t attack someone 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, • a11ywins.tumblr.com FTW: • Thanks to Marcy Sutton. http://adrianroselli.com/2015/07/lets-share-more-accessibility-experiences.html 16/16
  46. 46. Key Takeaways 3 of 3 sections.
  47. 47. ≠ Checklist • Accessibility is not a checklist. No matter how pretty that checklist looks now how many items you get to check.
  48. 48. Stairamp Dean Bouchard on Flickrhttp://incl.ca/the-problems-with-ramps-blended-into-stairs/
  49. 49. = Process • Accessibility is not a checklist. • Accessibility is an ongoing process. You know, kinda like all software.
  50. 50. Snowtreeramp Nicolas Steenhouthttps://twitter.com/vavroom/status/571092086365261824 “Wheelchair ramp at pharmacy not only hasn’t been cleared of snow but has 2 potted trees to ensure nobody can pass.”
  51. 51. Oslo Davis, https://twitter.com/oslodavis/status/373219062697840640
  52. 52. Fringe Accessibility Techniques (That Probably Shouldn’t Be) Presented by Adrian Roselli for Accessibility Camp Toronto 2015 My thanks and apologies. Slides from this talk will be available at rosel.li/a11yTO

×