A new look at Accessibility, giving it a broader definition and rewards, followed by an Overview of the iOS Accessibility Features, and finally Guidelines for Designers and Developers, including “good” and “bad” examples to better understand how it all works in practice.
12. –2011 WHO World Report on Disability
“15 percent (1 Billion) of the world’s
population (7 Billion) live with some
kind of impairment”
13. –UN Factsheet on Persons with Disabilities
“75% of the FTSE 100 companies in
the UK do not meet basic levels of
accessibility, thus missing out on more
than £96 ($147) million in revenue.”
14. 🤔
If Accessibility is so important, how
come I mostly hear about it at events
like this?
19. Accessibility Takeaways
• Accessible apps are Inclusive and Robust
• Impairments vary in Severity, Nature, and
Duration
• No Complaints != No Problem or Opportunity
29. VoiceOver
Perceive and Interact without seeing the screen or direct
manipulation
• Move through UI elements sequentially and announce them
via Speech or Braille
• Perform actions using a single button: whole screen/external
Very popular for Vision impairments
Doesn’t support 3D games, drawing apps
Free (saving thousands), Built-in, High-Quality
32. Switch Control
Interact without touching the screen
• Move through UI elements sequentially, automatically or
manually
• Point at elements using a gliding cursor (slower, any app)
• Select elements and actions via external switches
• Activated with head, chin, mouth, eyes, wrist, finger, etc
Very popular for Motor impairments
Also free, Built-in, High-Quality
33. Assistive Hardware
Hundreds of supported Input/Output Devices
• i.e. Braille Displays, Hearing Aids, Sip-and-Puff
Zero Design or Development effort
39. ⚠ Always Remember
Don’t assume perfect Vision, Hearing, Physical
and Motor, Learning and Literacy abilities
Abilities can be limited by external conditions
such as Sunlight, Noise, Multitasking
64. Map View
Label
Header
Slider
Page View
Switch Text View
Text Field
Table View
Collection View
Tab Bar
Segmented Control
Activity Indicator
Page Control Stepper
Alert
Date Picker
Picker View
Image Picker
Document PickerNavigation Bar
ToolBar
Search Bar Contact Picker
Button
Generic Picker
Media Picker
Image View
Printer Picker
65. Nothing is free
Talking about an idea isn't free
Deciding wether to implement isn't free
QA won't be free
Informing users won't be free
Testing won't be free
Updating support isn't free
Maintaining it isn't free
Undoing it won't be free
adapted from Intercom’s Product Management book
66. iOS is designed to save you
work. Invent, don’t reinvent.
…so cheesy ¯_( )_/¯
68. Accessibility Semantics answer:
Purpose Am I relevant for Accessibility?
Name How do I identify myself?
Personality What are my characteristics?
Value Do I change with user interaction or time?
Interaction How exactly do I work?
Location Where am I?
83. recommended
Reorder Lisbon; Button, Draggable;
Double tap and hold, wait for the
sound, then drag to rearrange.
Lisbon
San Francisco
Do
Provides a helpful interaction hint
87. Advanced Accessibility API
func accessibilityIncrement / Decrement() (with .Adjustable Trait)
func accessibilityActivate() -> Bool
func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
func accessibilityPerformEscape() -> Bool
func accessibilityPerformMagicTap() -> Bool
var accessibilityActivationPoint: CGPoint
var accessibilityElementsHidden: Bool
var accessibilityLanguage: String?
var accessibilityPath: UIBezierPath?
var accessibilityViewIsModal: Bool
var shouldGroupAccessibilityChildren: Bool
var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
var accessibilityCustomActions: [UIAccessibilityCustomAction]?
enum UIAccessibilityZoomType: Int
struct UIAccessibilityNotifications for Accommodations, Announcement status and Highlight Control
struct UIAccessibilitySpeechAttributePunctuation(NSNumber)/Language(NSString)/Pitch(NSNumber) for attr. strings
89. Accessibility
• Shares principles with UX, not a separate
effort.
• More than just severe impairments, sunlight
can blind you.
• Few accessible apps, make a difference, or
business.
91. Low Effort
Accessibility is built-in and robust
• Accessible UI Elements for display, interaction,
navigation
• Simple APIs for Custom Accessible UI
Components
• Free Assistive Technologies
• Free Assistive Hardware support
92. High Reward
Easier Testing, Multi-Language/Device/Orientation/Tasking
• Shared benefits from using Dynamic Text, Auto-Layout, Built-in
Components
Wider, happier userbase
• App works regardless of disability, or situation
Radically improve people’s lives by giving them independence
• Communication
• Entertainment
• Business
93. Guidelines & Examples
Design
• Perceivable, Operable, Understandable, and
Robust
Development
• Relevance, Name, Personality, Value,
Interaction, and Location