Mobile Accessibility

Mobile Accessibility slide 0
Download Mobile Accessibility

Post on 21-Jan-2015




4 download


This variation of an earlier mobile accessibility presentation was given to engineers at Intuit's Bangalore office. It has been updated with new information on Android, FirefoxOS, and Windows8


1. Ted Drake, Intuit AccessibilityBengaluru, 2013 2. This Photos from Flickr viaCreative Commons licensing Accessible version of 3. What is Mobile Accessibility? 4. Screen Reader 5. PuriPuriChickpeasChickpeasTamarindTamarindPuri Readers 6. Braille 7. Cognitive Disabilities 8. Low Vision 9. QuickTime and aH.264 decompressorare needed to see this picture. 10. Alternate Inputs 11. HTML5HTML5 12. iOS 13. VoiceOver 14. Hearing 15. Guided Access 16. AndroidANDROID 17. BeforeIce CreamSandwichIce CreamSandwich 18. Ice Cream Sandwich 19. Jelly Bean 20. Global Context Menu 21. Windows 8 Windows 8 components are accessible Essentially HTML5 wrappers Extensive gesture support Verbose feedback on elements 22. Windows 8Phone Narrator is not available High contrast setting Screen magnifier Text zoom Talking caller ID Speech commands 23. Surface andWindows 8Desktop 24. FireFox OS HTML5 apps and OS Open Source Future: screen reader,zoom Build and test now withemulator or build withAndroid device 25. Mobile Web 26. 27. Focus Control 28. iOSisAccessibilityElement// if a UIView implements the containerprotocol, it cannot be an accessibleelement- (BOOL)isAccessibilityElement{return NO;} 29. QuickTime and aH.264 decompressorare needed to see this picture. 30. AndroidsetFocusable() | isFocusable() | requestFocus()setFocusable() | isFocusable() | requestFocus() 31. QuickTime and aH.264 decompressorare needed to see this picture.Unfocused Content 32. ExploreByTouchHelper Introduced at Google IO 2013 Helper class that makes it easy to createaccessible custom views Provides dimensions, locations, text, andaction Re-use classes from visual design 33. HTML5 & & Best:Share ThisGood:ShareThisWorks, but avoid:ShareThis 34. Spamvar checkbox =document.getElementById(cb);checkbox.tabIndex = 0; // make the divfocusablecheckbox.focus();HTMLfocus()focus() 35. Dont Touchtouchstarttouchendtouchmovetouchcancel 36. Labels and Descriptions 37. Custom Buttons 38. iOSaccessibilityLabel | accessibilityHintaccessibilityLabel | accessibilityHintquantity.accessibilityLabel =@Quantity;quantity.accessibilityHint =@Increase desired quantity.; 39. AndroidcontentDescriptioncontentDescription 40. HTMLName 41. DynamicValues 42. iOSUIAccessibilityPostNotificationUIAccessibilityPostNotification-(void)helpDidClose:(ZBEHelpView *)view{[helpView removeFromSuperview];helpView = nil;[self unease];UIAccessibilityPostNotification (UIAccessibilityScreenChangedNotification,statusView);// statusView instead of nil tells this where toplace the focus.} 43. AndroidAccessibilityEventprivate void announceForAccessibilityCompat(CharSequence text) {if (!mA11yManager.isEnabled()) {return;}final int eventType;if (Build.VERSION.SDK_INT < 16) {eventType = AccessibilityEvent.TYPE_VIEW_FOCUSED;} else {eventType = AccessibilityEventCompat.TYPE_ANNOUNCEMENT;}final AccessibilityEvent event =AccessibilityEvent.obtain(eventType);event.getText().add(text);event.setClassName(AccessibleCanvas.class.getName());event.setPackageName(mContext.getPackageName());mA11yManager.sendAccessibilityEvent(event);} 44. HTMLaria-livearia-liveTotal is $5.10 45. More Stuff 46. accessibilityViewIsModal (iOS5)A Boolean value indicating whether VoiceOver should ignorethe elements within views that are siblings of the receiver. 47. accessibilityPerformEscapeImplement this method on an element orcontaining view that can be revealedmodally or in a hierarchy. When aVoiceOver user performs a dismiss action,this method dismisses the view. thepopover. 48. Detect Screen ReaderiOSUIAccessibilityIsVoiceOverRunning();AndroidisScreenReaderActive() 49. QuickTime and aH.264 decompressorare needed to see this picture. 50. Dont Hide Your Fixes 51. Ted DRAKESr. Accessibility EngineerIntuit Accessibility, CTOted_drake@intuit.comh: last-child.comt: @ted_drakes: