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

Pragmatic Accessibility. A How-To Guide for Teams.

Pragmatic Accessibility. A How-To Guide for Teams.

Making your site more accessible can be a daunting task. If you are approaching accessibility for the first time, the sheer breadth of the topic can leave you wondering where to start - after all, working to accommodate a diverse range of abilities means there are a correspondingly diverse range of issues to consider. This talk will explain how to effectively review a site for accessibility and how to build accessibility considerations into your team process so each team member knows their role, and has the appropriate training material. The goal is for attendees to walk away with an actionable process which they can immediately use to assess and improve their products' accessibility and overall user experience.

Rob Dodson

May 24, 2017
Tweet

More Decks by Rob Dodson

Other Decks in Technology

Transcript

  1. Hey Rob,
 Our team is ramping up on accessibility. Do

    you have any material to help us get started?
  2. Thanks! That's really helpful. But, what about our designers? Do

    you have your project managers do this course?
  3. This is a headline Followed by a subhead This is

    body copy and it goes a little like this and Lorem ipsum dolor sit amet, consectetur adipiscing elit. This is body copy and it goes a little like this and Lorem ipsum dolor sit amet, consectetur adipiscing elit. Web Accessibility by Google bit.ly/web-a11y
  4. This is a headline Followed by a subhead This is

    body copy and it goes a little like this and Lorem ipsum dolor sit amet, consectetur adipiscing elit. This is body copy and it goes a little like this and Lorem ipsum dolor sit amet, consectetur adipiscing elit. WebAIM Checklist webaim.org/standards/wcag/checklist
  5. This is a headline Followed by a subhead This is

    body copy and it goes a little like this and Lorem ipsum dolor sit amet, consectetur adipiscing elit. This is body copy and it goes a little like this and Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vox Accessibility Guidelines accessibility.voxmedia.com
  6. Checklist Item 1 Checklist Item 2 Checklist Item 3 Primary

    Use Case 1 Primary Use Case 2 Secondary Use Case 1 Secondary Use Case 2 x x x x
  7. ✓ ✓ ✓ ✓ Everyone should receive training. Identify critical

    user journeys. Incorporate a checklist. Evaluate product with user studies.
  8. Content has good color contrast. Tab order is identified. Controls

    have accessible labels. Multiple ways to interact with UI.
  9. Text and icons should aim for a contrast ratios of

    4.5:1 for smaller text and 3:1 for larger text (14 pt bold/18pt regular).
  10. Tab order should follow the order of the visual layout,

    from the top to the bottom of the screen. It should traverse from the most important to the least important item.
  11. Accessible labels should be succinct, and don’t need to include

    the control type or state. Focus on action verbs. 1. Search 2. Voice Search 3. More options 1 2 3
  12. Consider how someone will interact with a control using a

    keyboard instead of a mouse. Plan your focus states.
  13. ✓ ✓ ✓ ✓ Content has good color contrast. Tab

    order is identified. Controls have accessible labels. Multiple ways to interact with UI.
  14. Tab order is logical. Focus is properly managed and visible.

    Interactive elements have keyboard support. ARIA roles & attributes applied as needed. Elements are properly labeled. Testing is automated.
  15. Implicitly Focusable Native elements like input, button, and select get

    focusability for free! Click Me! Password Aisle Seat
  16. When you change the content of the page it's important

    to direct the user's attention by moving focus.
  17. inert is a new HTML attribute that removes an element

    and its descendants from the tab order and the accessibility tree.
  18. Focus rings can seem unpredictable, leading a lot of developers

    to remove them with outline: none. This is an anti-pattern!
  19. /* override UA stylesheet if necessary */ .fancy-button:focus { outline:

    none; } /* establish desired focus ring appearance */ .fancy-button:focus-ring { outline: 2px solid blue; }
  20. This is a headline Followed by a subhead This is

    body copy and it goes a little like this and Lorem ipsum dolor sit amet, consectetur adipiscing elit. This is body copy and it goes a little like this and Lorem ipsum dolor sit amet, consectetur adipiscing elit. ARIA Authoring Practices. This is your cheat sheet for component accessibility! w3.org/TR/wai-aria-practices-1.1
  21. ARIA Authoring Practices. This is your cheat sheet for component

    accessibility! w3.org/TR/wai-aria-practices-1.1
  22. Roving tabindex Programmatically move focus in response to key events

    and update the tabindex to reflect the currently focused item. <div tabindex=“-1”>Item 1</div> <div tabindex=“0”>Item 2</div> <div tabindex=“-1”>Item 3</div> Item 1 Item 2 Item 3
  23. <div tabindex=“-1”>Item 1</div> <div tabindex=“-1”>Item 2</div> <div tabindex=“0”>Item 3</div> Item

    1 Item 2 Item 3 focus(); Roving tabindex Programmatically move focus in response to key events and update the tabindex to reflect the currently focused item.
  24. The Authoring Practices Guide will also tell you which ARIA

    attributes to use and when to use them!
  25. <label> Control must be a child of <label> or targeted

    by an IDRef using the label's for="" attribute. Only works with native form elements. “First name, edit text” <label> First Name: <input type="text"> </label>
  26. aria-label A string to be used as the accessible label.

    Overrides any other native labelling mechanism. <button id="hamburger" aria-label="Main Menu"> </button> “Main Menu, button”
  27. aria-labelledby A reference to an element (or elements) which will

    act as an accessible label. Overrides any other labelling mechanism including aria-label. “Men’s Outerwear, Shop Now, button” <h2 id="lbl">Men's Outerwear</h2> <button id="btn" aria-labelledby="lbl btn"> Shop Now </button>
  28. Tab order is logical. Focus is properly managed and visible.

    Interactive elements have keyboard support. ARIA roles & attributes applied as needed. Elements are properly labeled. Testing is automated. ✓ ✓ ✓ ✓ ✓ ✓
  29. Project Manager Provide team training Identify use cases Incorporate checklist

    into process UX/Designer Understand diverse user needs Design inclusively Developer Manage focus Add keyboard support Include proper semantics
  30. thank you! Rob Dodson @rob_dodson Images by Nick Bluth, Julien

    Devaux, Oksana Latysheva, Alena, Dan Lowenstein for the Noun Project