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

Designing For Accessibility

Designing For Accessibility

From a talk given to Specialist Holidays Group

Laura Kalbag

May 13, 2015
Tweet

More Decks by Laura Kalbag

Other Decks in Design

Transcript

  1. = =

  2. T

  3. The problem with creating products to suit our own needs

    is that the tech industry is not diverse
  4. the more diverse a team, the more likely their product

    is to solve and serve the problems of a diverse audience
  5. physiological safety love/belonging esteem self- actualization functional reliable usable pleasurable

    Tuesday, December 13, 11 blog.teamtreehouse.com/emotional-interface-design-the-gateway-to-passionate-users Aaron Walter’s remapping of Mazlow’s hierarchy of needs
  6. functional, convenient and reliable private, secure, accessible and sustainable respects

    human effort respects human rights The 3 Rs of Ethical Design
  7. functional, convenient and reliable private, secure, accessible and sustainable delightful

    respects human rights respects human effort respects human experience The 3 Rs of Ethical Design
  8. NOT private, secure, accessible and sustainable functional, convenient and reliable

    delightful respects human effort respects human experience does not respect human rights The 3 Rs of Ethical Design
  9. Browsers make sites accessible by default, but we break the

    accessibility with confusing content and poor markup
  10. Improvements in accessibility doubled Legal and General’s life insurance sales

    online wsi-ic.com/PConnolly/FileContent/improve_website.pdf
  11. Improvements in accessibility increased Tesco’s grocery home delivery sales by

    £13M in 2005 wsi-ic.com/PConnolly/FileContent/improve_website.pdf
  12. 1. Make text content easy to read. 2. Ensure sensible

    font sizes. 3. Don’t prevent the user from resizing the fonts themselves in the browser.
  13. Good copy is a part of good accessibility. Keep your

    text simple and your meaning clear.
  14. 1. Use colour contrast tools to ensure your text is

    high- contrast enough. 2. Beware of mega-high contrast too.
  15. This is a top-level heading This is a paragraph. It

    has some text in it. It’s a few sentences long. A lot of paragraphs look like this. This is a second level heading. This is a paragraph which has some links to other content and a button that allows you to take action.
  16. This is a top-level heading This is a paragraph. It

    has some text in it. It’s a few sentences long. A lot of paragraphs look like this. This is a second level heading. This is a paragraph which has some links to other content and a button that allows you to take action
  17. 1. Make the content structure clear and consistent. 2. Use

    meaningful headings, labels, lists and other relevant elements for your HTML.
  18. Sometimes the links are the same colour and style as

    the rest of the text and you only find out it’s a link when you hover over it.
  19. Sometimes the links are the same colour and style as

    the rest of the text and you only find out it’s a link when you hover over it.
  20. 1. Use link text that makes sense out of context.

    Don’t use “click here”. 2. Remember that not all your users are clicking.
  21. No, I don’t want to listen to your podcast or

    watch your video tutorial. Give me text!
  22. 1. Use JavaScript with care and load it in a

    sensible place. 2. If your web site or app needs JavaScript, ensure you use WAI ARIA to guide assistive technologies.
  23. 1. Give users enough time to read and use content

    2. Try not to distract users from their goals with unstoppable animations
  24. <ul  class="links-­‐list  rooms">      <li>        

     <a  href="#hall">Hall</a>      </li>      <li>          <a  href="#kitchen">Kitchen</a>      </li>      …   </ul> <div  class="links-­‐list  rooms">      <a  href="#hall">Hall</a>      <br>      <a  href="#kitchen">Kitchen</a>   </div>   Meaningful vs not-so meaningful HTML
  25. <ul  class="links-­‐list  rooms">      <li>        

     <a  href="#hall">Hall</a>      </li>      <li>          <a  href="#kitchen">Kitchen</a>      </li>      …   </ul> list 2 items • • internal, link, Hall internal, link, Kitchen end of list How VoiceOver reads it
  26. <div  class="links-­‐list  rooms">      <a  href="#hall">Hall</a>      <br>

         <a  href="#kitchen">Kitchen</a>   </div> internal, link, Hall internal, link, Kitchen How VoiceOver reads it
  27. Tabs WAI-ARIA Overview, selected, tab, 1 of 3 Laura Kalbag,

    tab, 2 of 3 Ind.ie, tab, 3 of 3 How VoiceOver reads native tabs in OS X
  28. visited, link, Images link, Fonts link, Ways To Pay link,

    Offers link, Ideas link, Subscriptions How VoiceOver reads the Veer navigation
  29. ARIA is a layer on top of markup content structure

    (HTML) additional structure (ARIA)
  30. tab, Images tab, Fonts tab, Ways To Pay tab, Offers

    tab, Ideas tab, Subscriptions ARIA Roles <a  role="tab">Images</a>
  31. <div  role="alert">Incorrect  password,  please   try  again</div>   <div  role="dialog">Successfully

     saved</div> Other roles Full list at w3.org/TR/wai-aria/roles#abstract_roles_header
  32. tab, Images, selected tab, Fonts tab, Ways To Pay tab,

    Offers tab, Ideas tab, Subscriptions
  33. Expanding/collapsing menu <button  class="menu"        aria-­‐expanded="false"> <button  class="menu"

           aria-­‐expanded="true"> Menu, collapsed, button Menu, expanded, button How ARIA could be used on an expanding/collapsing navigation menu
  34. HTML5 vs Landmarks <ul  class="site-­‐navigation"   role="navigation"> <nav>    

     <ul  class="site-­‐navigation"></ul>   </nav> w3.org/html/wg/drafts/html/master/infrastructure.html#default-implicit-aria-semantics
  35. ARIA vs HTML <span  role="link">   <div  role="list">   <span

     role="button">   <span  role="checkbox"> <a>   <ul>   <button>   <input  type="checkbox"> paciellogroup.com/blog/2010/04/html5-and-the-myth-of-wai-aria-redundance/
  36. New tweets available. Press period to review them. <div  id="event-­‐log"

     aria-­‐live="assertive">      <p>New  Tweets  available.  Press  period  to   review  them.</p>   </div> How Twitter uses aria-live
  37. Consider accessibility at every point of planning. It is functionality,

    content hierarchy, copy, visual design and code. Accessibility as default