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.

Making an app like 'Clear' Accessible

614 views

Published on

How to make an app like Clear accessible:
What is accessibility?
Designing for accessibility
Adding support to an iOS app

Presented at NSLondon August 2014: http://vimeo.com/105440180

Published in: Software
  • Be the first to comment

Making an app like 'Clear' Accessible

  1. 1. How to make an app like Clear accessible Sally Shepard // @mostgood
  2. 2. A few months ago in Berlin...
  3. 3. On a scale of complexity... Hello world!
  4. 4. For the next 15-ish minutes... • Accessibility • Demo of Clear • Adding support • Designing accessibility
  5. 5. What do I mean by ‘accessible’?
  6. 6. “Why can’t everyone use my app?”
  7. 7. UIAccessibility APIs
  8. 8. accessibilityLabel accessibilityTraits accessibilityValue accessibilityHint isAccessibilityElement
  9. 9. Demo
  10. 10. Making it accessible
  11. 11. Let the user know where they are and what they can do.
  12. 12. Using notifications - (void)viewDidAppear:(BOOL)animated! {! [super viewDidAppear:animated]; ! UIAccessibilityPostNotification(UIAccessibilityScreenChangedNoti fication, self.currentToDoList);! }!
  13. 13. Direct Interaction ! - (UIAccessibilityTraits)accessibilityTraits { return UIAccessibilityTraitAllowsDirectInteraction; }
  14. 14. UIAccessibilityCustomAction (iOS 8 only) UIAccessibilityCustomAction *helloAction = [[UIAccessibilityCustomAction alloc] initWithName:@"Say hello" target:self selector:@selector(sayHello)]; ! UIAccessibilityCustomAction *goodbyeAction = [[UIAccessibilityCustomAction alloc] initWithName:@"Say goodbye" target:self selector:@selector(sayGoodbye)]; ! for (UIView *element in cardView.accessibilityElements) { element.accessibilityCustomActions = @[helloAction, goodbyeAction]; }
  15. 15. Construct an entirely different “UI”
  16. 16. Find out if user has VoiceOver on BOOL isVoiceOverOn = UIAccessiblityIsVoiceOverRunning():
  17. 17. Not using UIKit? Implement UIAccessibilityContainer protocol
  18. 18. Test what you’ve done. On a device. With Screen Curtain on.
  19. 19. Designing accessibility
  20. 20. When it comes to designing an app to be accessible, YOU are the designer.
  21. 21. Be creative. (but maybe not too creative)
  22. 22. Trial and error
  23. 23. Usability testing.
  24. 24. @AppleVis
  25. 25. Thanks! Sally Shepard // @mostgood Icons from Noun Project: Rinna Guevara, Stephen Copinger, Luis Prado, Hadi Davodpour, Kristian Bannister, Iconathon, Luis Prado, Christopher Anderson, Charlene Chen, CharlotteVogel

×