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

Is your app for everyone? A primer on accessibi...

Is your app for everyone? A primer on accessibility for Android

When it comes to accessibility support, it can be difficult for teams to know what to focus on and how to get started. Sometimes it can be hard to justify the effort when teams think it only benefits a "few" users, which is a debatable assumption. Whether you're new to the subject or you're keen on knowing more about it, this talk is for you.

In this talk, you will learn how supporting accessibility helps in a lot of different cases, from temporal illnesses or reversible situations to severe disabilities. Moreover, you will learn how people use different Android accessibility services such as Talkback or SwitchAccess to interact with your application in a different way. We will also explore the current range of developer tools that can be used to spot potential accessibility issues in our apps.

And finally, you will learn how developers, designers and product managers can work together to make sure that we create experiences for everyone.

David Lázaro

April 04, 2019
Tweet

More Decks by David Lázaro

Other Decks in Programming

Transcript

  1. Report on accessibility (WHO) “More than a billion people are

    estimated to live with some form of disability, or about 15% of the world’s population.” bit.ly/accessibility-report
  2. Visual • Low vision • Low contrast • Color blindness

    • Partially detached retina Source: bit.ly/detached-retina
  3. Visual • Low vision • Low contrast • Color blindness

    • Partially detached retina • Complete blindness
  4. Lookout (Google) An app to help blind and visually impaired

    people learn about their surroundings bit.ly/google-lookout
  5. Lookout (Google) An app to help blind and visually impaired

    people learn about their surroundings bit.ly/google-lookout
  6. Chord assist (Joe Birch) Chord Assist: Building an accessible smart

    guitar for the blind, deaf and mute bit.ly/chord-assist
  7. Accessibility services • Talkback • SwitchAccess • Font size •

    Display size • Color/Display tools • Zoom magnification • Power button end calls • Auto-rotate screen • Mono audio
  8. Talkback - “Search button, double tap to activate” - “Showing

    keyboard” - “M-E-E-T-I-N-G-S” - “Clear query button” - “Cameron Herold, Meetings suck, double tap to activate”
  9. Talkback - “9% audio progress seek control” - “15% audio

    progress seek control” - “Rewind button” - “Previous chapter button” - “Pause button”
  10. Talkback Action: Swipe up and right - “Page navigation, in

    list 2 items” - “Next page” - “Multipage view, Meetings suck”
  11. SwitchAccess - Action: Tap next button - Action: Tap next

    button - Action: Tap next button - Action: Tap OK button
  12. Contrast ratio • Value from 1.00–21.00 • Make sure 4.50

    for small text and 3.00 for big text • contrast-ratio.com

  13. Can you read this? Can you read this? Ratio 21

    Contrast ratio Can you read this? Can you read this? Ratio 12 Can you read this? Can you read this? Ratio 4 Can you read this? Can you read this? Ratio 2 PASS PASS PASS PASS PASS FAIL FAIL FAIL Small text Big text
  14. Ensure proper TalkBack navigation - “Unlabeled button” - “Unlabeled button”

    - “Unlabeled button” - “Unlabeled button” - “Unlabeled button”
  15. Ensure proper TalkBack navigation - “Unlabeled button” - “Unlabeled button”

    - “Unlabeled button” - “Unlabeled button” - “Unlabeled button”
  16. Ensure proper TalkBack navigation <LinearLayout android:id="@+id/book_data_container" android:layout_width="wrap_content" android:layout_height="wrap_content" android:focusable="true"> <TextView

    android:text="@string/book_title" /> <TextView android:text=“@string/book_author” /> ... </LinearLayout> <LinearLayout android:id="@+id/book_data_container" android:layout_width="wrap_content" android:layout_height="wrap_content" android:focusable="true"> <TextView android:text="@string/book_title" /> <TextView android:text=“@string/book_author” /> ... </LinearLayout>
  17. Improve UX if there’s a spoken accessibility service enabled i.e.

    replace a seekbar with rewind/fast forward buttons
  18. Improve UX if there’s a spoken accessibility service enabled accessibilityManager:

    AccessibilityManager = context.getSystemService(Context.ACCESSIBILITY_SERVICE)
  19. Improve UX if there’s a spoken accessibility service enabled accessibilityManager:

    AccessibilityManager = context.getSystemService(Context.ACCESSIBILITY_SERVICE) accessibilityManager .getEnabledAccessibilityServiceList( AccessibilityServiceInfo.FEEDBACK_SPOKEN) .isEmpty()
  20. Did you know? A11Y = AccessibilitY 11 chars This is

    just another pause to drink water
  21. Not a developer tool but… • Learn how to use

    the same accessibility services! • User interviews

  22. Let’s talk the same language <resources> <color name="light_grey">#BAC8CE</color> <color name="mid_grey">#838f93</color>

    <color name="dark_grey">#3A4649</color> <color name="blinkist_green">#2CE080</color> ... <color name="midnight">#03314B</color> ... </resources>
  23. Accessibility advocate role Mission: - Making everyone aware of the

    importance of the topic • Organize workshops • Share updates
  24. FAQ

  25. I’m the only developer of my company or an indie

    developer, I can’t allocate that much time to fine tune my app $ % & ⚠
  26. YES

  27. Take aways from this talk • Small things → Big

    impact • Make it part of your development process • Advocate for it • It’s a team-wide effort
  28. Know more • Material design docs: • https:/ /material.io/design/usability/accessibility.html •

    Deque university: • https:/ /dequeuniversity.com • Android devs docs: • https:/ /developer.android.com/guide/topics/ui/accessibility/index.html • Android devs YT channel: • https:/ /www.youtube.com/channel/UCVHFbqXqoYvEWM1Ddxl0QDg • WHO report: • https:/ /www.who.int/disabilities/world_report/2011/en/ • Ataul Munim @ Droidcon Berlin: • https:/ /www.youtube.com/watch?v=dm05qny_kfE • Android a11y, getting started by Victoria Gonda: • https:/ /www.raywenderlich.com/240-android-accessibility-tutorial-getting-started