iOS Accessibility

94
iOS Accessibility Low Effort, High Reward Luis Abreu UX Designer

Transcript of iOS Accessibility

Page 1: iOS Accessibility

iOS AccessibilityLow Effort, High Reward

Luis Abreu UX Designer

Page 2: iOS Accessibility

AgendaAccessibility

iOS

Guidelines & Examples

Page 3: iOS Accessibility

AgendaAccessibility

iOS

Guidelines & Examples

Page 4: iOS Accessibility

Accessibility is UX turned up to 11.

Page 5: iOS Accessibility
Page 6: iOS Accessibility

Impairments

Severity Nature Duration

Mild External Temporary

Severe Internal Chronic

Page 7: iOS Accessibility

Blindness, DeafnessImpairments

Severity Nature Duration

Mild External Temporary

• Severe • Internal • Chronic

Page 8: iOS Accessibility

Dyspraxia, RSIImpairments

Severity Nature Duration

• Mild External • Temporary

Severe • Internal Chronic

Page 9: iOS Accessibility

Sunlight, Noise, MultitaskingImpairments

Severity Nature Duration

Mild • External • Temporary

• Severe Internal Chronic

Page 10: iOS Accessibility

Accessibility is inclusion, and robustness.

Page 11: iOS Accessibility

…one last thing about Accessibility

Page 12: iOS Accessibility

–2011 WHO World Report on Disability

“15 percent (1 Billion) of the world’s population (7 Billion) live with some

kind of impairment”

Page 13: iOS Accessibility

–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.”

Page 14: iOS Accessibility

🤔

If Accessibility is so important, how come I mostly hear about it at events

like this?

Page 15: iOS Accessibility

Survivorship Bias

Page 16: iOS Accessibility

Survivorship Bias

Overlooking those that did not survive because of their lack of visibility.

Page 17: iOS Accessibility

“Engagement” Bias

Overlooking those that did not survive use your app because of their lack of

visibility.

Page 18: iOS Accessibility

Accessible apps are rare, this is an opportunity.

Page 19: iOS Accessibility

Accessibility Takeaways• Accessible apps are Inclusive and Robust

• Impairments vary in Severity, Nature, and Duration

• No Complaints != No Problem or Opportunity

Page 20: iOS Accessibility

AgendaAccessibility

iOS

Guidelines & Examples

Page 21: iOS Accessibility

Assistive TechnologiesAny feature or hardware that informs or helps users interact with your app in a way that’s most accessible to them.

Page 22: iOS Accessibility

LED Flash Alerts

Button Shapes

Audio Descriptions

Hold Duration

Reachability

Ignore Repeat

Dictionary

Darken Colors

Closed Captions

SDH

Reduce White Point

3D Touch Sensitivity

Home Button SpeedGrayscale

Audio Balance

Hearing Aid Mode

Inverted Colors

Button ShapesLarger Text

Reduced Motion

Tap Assistance

Mono Audio

Reduced Transparency

Bold Text

Switch Labels

Speak Selection

Zoom

Switch Control

VoiceOver

Assistive Touch

A. Hardware

Speak Screen

Page 23: iOS Accessibility

Impairments - TechnologiesMild Severe

Visual Larger Text Astigmatism

VoiceOver Blindness

Hearing Mono Audio Partial Deafness

Captions Deafness

Motor Assistive Touch RSI

Switch Control Tetraplegia

Learning Speak Screen Dyslexia

Guided Access Autism

Page 24: iOS Accessibility

Larger Text

Default LargestSmallest

Page 25: iOS Accessibility

Reduce Transparency

Page 26: iOS Accessibility

Assistive Touch

Page 27: iOS Accessibility

VoiceOverPerception and Interaction

Page 28: iOS Accessibility

lmjabreu.wistia.com/medias/o2k8ln3iy8

Page 29: iOS Accessibility

VoiceOverPerceive 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

Page 30: iOS Accessibility

Switch ControlInteraction through any means possible

Page 31: iOS Accessibility

lmjabreu.wistia.com/medias/7iynpnjild

Page 32: iOS Accessibility

Switch ControlInteract 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

Page 33: iOS Accessibility

Assistive HardwareHundreds of supported Input/Output Devices

• i.e. Braille Displays, Hearing Aids, Sip-and-Puff

Zero Design or Development effort

Page 34: iOS Accessibility

Braille Display

$2839 / £1885

Page 35: iOS Accessibility

Switches

Simple $59 / £39

Chin $199 / £132

Sip-and-Puff $389 / £258

Sensitive $79 / £52

Motion $699 / £464

Page 36: iOS Accessibility

AgendaAccessibility

iOS

Guidelines & Examples

Page 37: iOS Accessibility

How do I Accessibility 🤔now that we’ve seen benefits and iOS technologies

Page 38: iOS Accessibility

Guidelines

1. Perceivable

2. Operable

3. Understandable

4. Robust

For Designers and Developers

Page 39: iOS Accessibility

⚠ Always RememberDon’t assume perfect Vision, Hearing, Physical and Motor, Learning and Literacy abilities

Abilities can be limited by external conditions such as Sunlight, Noise, Multitasking

Page 40: iOS Accessibility

Do I know it’s there?Perceivable

Page 41: iOS Accessibility

Color BlindnessUse shape, color, and animation, as well as audio cues. Brings your app to life, provides resistance to color impairments.

Page 42: iOS Accessibility

Color-richRed star is easy to spot.

Page 43: iOS Accessibility

Color… may fail.Where’s the star again?

Page 44: iOS Accessibility

Color and shape.Outlined vs. Filled, Red vs. Green.

Page 45: iOS Accessibility

…or just shape.Outlined vs. Filled

Page 46: iOS Accessibility

Shape, it works even without color.Color speeds up recognition, but clear shapes, and ultimately, text remove ambiguity.

Page 47: iOS Accessibility

Low VisionGood contrast makes reading text, distinguishing elements or state easier, or even possible.

Page 48: iOS Accessibility

External blindnessSunlight changes how your app (Spotify) is perceived.

Page 49: iOS Accessibility

External blindnessGo high contrast, test the usage context and device.

Page 50: iOS Accessibility

Blindness, Deafness.Text is elementary, unambiguous, easily converted to audio or braille.

Page 51: iOS Accessibility

Name the icon.

Page 52: iOS Accessibility

Name the icon.

Page 53: iOS Accessibility

Text is unambiguous, clear.And it can look good.

Unambiguous options

Clear consequence

Page 54: iOS Accessibility

Can I use it?Operable

Page 55: iOS Accessibility

Assisted InteractionDo use custom UI components and gestures to speed interactions but consider severely impaired users.

Page 56: iOS Accessibility

TimingDon’t automatically perform or constrain actions to a time limit.

Page 57: iOS Accessibility

Does it make sense?Understandable

Page 58: iOS Accessibility

LanguageUse simple, familiar language for both text and metaphors. Localize your app.

Page 59: iOS Accessibility

Gmail doesn’t speak my language.What’s that icon on the top right? Why are add contact and attach disabled like the back button?

# Gmail $ Mail

Page 60: iOS Accessibility

Citymapper is localizedI can see the price in a familiar, local currency, and bus stop identifier letters help me avoid mistakes.

Page 61: iOS Accessibility

Error IdentificationCommunicate through text, clearly.

Page 62: iOS Accessibility

Is it future-proof?Robust

Page 63: iOS Accessibility

NativeLeverage ready-to-use, familiar components

Page 64: iOS Accessibility

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

Page 65: iOS Accessibility

Nothing is freeTalking 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

Page 66: iOS Accessibility

iOS is designed to save you work. Invent, don’t reinvent.

…so cheesy ¯\_( )_/¯

Page 67: iOS Accessibility

Accessibility SemanticsDescribe your app to iOS

Page 68: iOS Accessibility

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?

Page 69: iOS Accessibility

Purpose

var isAccessibilityElement: Bool

Basic Accessibility API

Page 70: iOS Accessibility

not recommended

[Image]; [Do Not Disturb; Button].

Do Not Disturb

Don’t“Image” is unhelpful, redundant

Page 71: iOS Accessibility

recommended

Do Not Disturb; Button.

Do Not DisturbDo Not Disturb

DoHide unhelpful, redundant elements.

Page 72: iOS Accessibility

Name

var accessibilityLabel: String?

Basic Accessibility API

Page 73: iOS Accessibility

not recommended

Button.

M.I.A.Bad Girls

Don’t“Button” clarifies neither identity or consequence

Page 74: iOS Accessibility

recommended

Play, Bad Girls by M.I.A.; Button.

M.I.A.Bad Girls

DoIdentity and consequence are clear

Page 75: iOS Accessibility

Personality

var accessibilityTraits: UIAccessibilityTraits

Basic Accessibility API

Page 76: iOS Accessibility

Detail

not recommended

Detail.

Don’t“Detail” provides identity but not personality

Page 77: iOS Accessibility

Detail

recommended

Detail; Button.

Do“Button” declares interactive personality

Page 78: iOS Accessibility

Value

var accessibilityValue: String?

Basic Accessibility API

Page 79: iOS Accessibility

not recommended

9:00 … 9:00 … 9:00 … 9:00

12

6 5432

11110987

12

6 5432

11110987

12

6 5432

11110987

12

6 5432

11110987

Don’tState changes aren’t perceptible

Page 80: iOS Accessibility

12

6 5432

11110987

12

6 5432

11110987

12

6 5432

11110987

12

6 5432

11110987

recommended

9:00 … 9:08 … 9:30 … 9:41

DoValue changes with time

Page 81: iOS Accessibility

Interaction

var accessibilityHint: String?

Basic Accessibility API

Page 82: iOS Accessibility

not recommended

Reorder Lisbon; Button, Draggable.

Lisbon

San Francisco

Don’tNo helpful interaction hint

Page 83: iOS Accessibility

recommended

Reorder Lisbon; Button, Draggable; Double tap and hold, wait for the sound, then drag to rearrange.

Lisbon

San Francisco

DoProvides a helpful interaction hint

Page 84: iOS Accessibility

Location

var accessibilityFrame: CGRect

Basic Accessibility API

Page 85: iOS Accessibility

not recommended

Incorrect size and position.

Lisbon

San Francisco

Don’tConfusing, which element am I focused on again?

Page 86: iOS Accessibility

recommended

Large, well-positioned, easy to see.

Lisbon

San Francisco

DoClearly indicate highlighted element.

Page 87: iOS Accessibility

Advanced Accessibility APIfunc 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

Page 88: iOS Accessibility

SummaryAccessibility

iOS

Guidelines & Examples

Page 89: iOS Accessibility

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.

Page 90: iOS Accessibility

iOS Low Effort, High Reward

Page 91: iOS Accessibility

Low EffortAccessibility 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

Page 92: iOS Accessibility

High RewardEasier 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

Page 93: iOS Accessibility

Guidelines & ExamplesDesign

• Perceivable, Operable, Understandable, and Robust

Development

• Relevance, Name, Personality, Value, Interaction, and Location

Page 94: iOS Accessibility

Twitter@lmjabreuiOS Accessibility Handbook leanpub.com/iosaccessibilityApple Accessibility Documentationdeveloper.apple.com/accessibility/ios

Thank you