SlideShare une entreprise Scribd logo
1  sur  58
Télécharger pour lire hors ligne
Lessons Learnt From
Building Accessible
Native Mobile Apps
Ashton Williams
Odecee
A11Y Camp
VoiceOver
• Screen reader
• Built into every iPhone,
iPad, Mac, and Apple
Watch
Dynamic Type
• Device wide setting for text size
Dynamic Type
• Device wide setting for text size
Dynamic Type
• Device wide setting for text size
Dynamic Type
• Device wide setting for text size
Dynamic Type
• Device wide setting for text size
Dynamic Type
• Device wide setting for text size
UIAccessibility
iOS accessibility framework
UIAccessibility
UIAccessibility
• Textual labels, descriptions, values, hints, ...
UIAccessibility
• Textual labels, descriptions, values, hints, ...
• Navigation hierarchy seperate from graphical display
UIAccessibility
• Textual labels, descriptions, values, hints, ...
• Navigation hierarchy seperate from graphical display
UIAccessibility
• Textual labels, descriptions, values, hints, ...
• Navigation hierarchy seperate from graphical display
• VoiceOver
UIAccessibility
• Textual labels, descriptions, values, hints, ...
• Navigation hierarchy seperate from graphical display
• VoiceOver
• Braille displays
UIAccessibility
• Textual labels, descriptions, values, hints, ...
• Navigation hierarchy seperate from graphical display
• VoiceOver
• Braille displays
• Switch Control
UIAccessibility
• Textual labels, descriptions, values, hints, ...
• Navigation hierarchy seperate from graphical display
• VoiceOver
• Braille displays
• Switch Control
• Teletype (TTY) machines
Dynamic Type Examples
Notes app
Default Extra Extra Extra Large
Accessibility Extra Extra
Extra Large
Settings app
Default Extra Extra Extra Large
Accessibility Extra Extra
Extra Large
Twitter app
Default Accessibility Extra Extra Extra Large
Methodology
Methodology
• Include accessibility in planning
Methodology
• Include accessibility in planning
• Accessibility is User Experience (UX)
Methodology
• Include accessibility in planning
• Accessibility is User Experience (UX)
• VoiceOver is a User Interface
Methodology
• Include accessibility in planning
• Accessibility is User Experience (UX)
• VoiceOver is a User Interface
• Build the app accessible from the start
Methodology
• Include accessibility in planning
• Accessibility is User Experience (UX)
• VoiceOver is a User Interface
• Build the app accessible from the start
• Doing it last will be surprisingly difficult
Methodology
• Include accessibility in planning
• Accessibility is User Experience (UX)
• VoiceOver is a User Interface
• Build the app accessible from the start
• Doing it last will be surprisingly difficult
• Test on device
Pragmatism
Pragmatism
• Standard looking apps are easier
Pragmatism
• Standard looking apps are easier
• Custom UI means work to create custom graphics and
custom accessibility
Pragmatism
• Standard looking apps are easier
• Custom UI means work to create custom graphics and
custom accessibility
• Build for flexibility
Dynamic Type
Dynamic Type
• Does not support Custom Fonts
Dynamic Type
• Does not support Custom Fonts
• Can be significant work to support
Tips
Tips
• Use VoiceOver
Tips
• Use VoiceOver
• Enable two or more accessibility shortcut items
iOS 10
Magnifier
• Triple tap Home button to start
Magnifier
• Various colour filters to help
someone increase the contrast.
Magnifier app screenshot
Custom Search Rotors
To use the rotor you take two fingers and
twist onscreen as though you're
manipulating a physical dial.
Custom Search Rotors
• Default rotors include;
Containers, Headings, Links To use the rotor you take two fingers and
twist onscreen as though you're
manipulating a physical dial.
Custom Search Rotors
• Default rotors include;
Containers, Headings, Links
• Apps can now define their own
rotors
To use the rotor you take two fingers and
twist onscreen as though you're
manipulating a physical dial.
Custom Search Rotors
• Default rotors include;
Containers, Headings, Links
• Apps can now define their own
rotors
• Visually distinctive screen
elements can be quickly
navigated in isolation
To use the rotor you take two fingers and
twist onscreen as though you're
manipulating a physical dial.
To use the rotor you take two
fingers and twist onscreen as
though you're manipulating a
physical dial. Do that to select
the rotor setting to use, and
then swipe up or down with
one finger to search previous
or next with that rotor.
Example
A research app could use a rotor
to jump to highlighted portions
of text.
Illustration of text with highlighted
portions.
Xcode 8
Accessibility Inspector
Accessibility Inspector
• Quickly inspect accessibility
• Does not replace testing with
VoiceOver
• Automatic Audit is helpful, but has
false positives. Does not replace
manual testing.
More Resources
• Apple Accessibility for Developers 

https://developer.apple.com/accessibility/
• Android Accessibility Guide

https://developer.android.com/guide/topics/ui/accessibility/index.html
More Resources
• What's New in Accessibility

https://developer.apple.com/videos/play/wwdc2016/202/
• Inclusive App Design

https://developer.apple.com/videos/play/wwdc2016/801/
• Auditing Your Apps for Accessibility

https://developer.apple.com/videos/play/wwdc2016/407/
Disability and Innovation: The Universal
Benefits of Accessible Design
First deaf blind person to
graduate from Harvard Law
School.
Accessibility and inclusion
advocate.
https://developer.apple.com/videos/play/wwdc2016/104/
Haben Girma
President Obama and Haben Girma communicating via keyboard and a
digital braille display.
–Haben Girma
“Now imagine a lot of people thinking, why would a
camera app need to be accessible? Why would
blind people ever take pictures? We take pictures for
the same reasons sighted people take pictures. To
capture moments, to share experiences with friends.
Our goal is to make sure all apps are accessible.”
–Haben Girma
“Try not to make assumptions about what people
with disabilities can and can't do. Instead, strive for
inclusion.”
Thank You. Questions?
@AshtonDev
GitHub.com/Ashton-W
Ashton-W.net
Senior iOS Developer at Odecee

Contenu connexe

En vedette

completed-transcript-5429617
completed-transcript-5429617completed-transcript-5429617
completed-transcript-5429617
Eric Fay
 

En vedette (19)

NAM
NAMNAM
NAM
 
Сайлаува Айгерим+Доброта+Идея
Сайлаува Айгерим+Доброта+ИдеяСайлаува Айгерим+Доброта+Идея
Сайлаува Айгерим+Доброта+Идея
 
Programa ng pamahalaan sa pagpapaunlad ng bansa iletp 6 smc
Programa ng pamahalaan sa pagpapaunlad ng bansa iletp 6 smcPrograma ng pamahalaan sa pagpapaunlad ng bansa iletp 6 smc
Programa ng pamahalaan sa pagpapaunlad ng bansa iletp 6 smc
 
Dgr sps16 full-circle-finaldeck
Dgr sps16 full-circle-finaldeckDgr sps16 full-circle-finaldeck
Dgr sps16 full-circle-finaldeck
 
Cloud Computing and Impact Factors - An Empirical Investigation
Cloud Computing and Impact Factors - An Empirical InvestigationCloud Computing and Impact Factors - An Empirical Investigation
Cloud Computing and Impact Factors - An Empirical Investigation
 
NXT - Digital Driving Culture
NXT - Digital Driving CultureNXT - Digital Driving Culture
NXT - Digital Driving Culture
 
Lightning Talk
Lightning TalkLightning Talk
Lightning Talk
 
The Good, The Bad, The Voiceover - ios Accessibility
The Good, The Bad, The Voiceover - ios AccessibilityThe Good, The Bad, The Voiceover - ios Accessibility
The Good, The Bad, The Voiceover - ios Accessibility
 
Mangibunong 6 sjb suliranin sa kaunlaran
Mangibunong 6 sjb suliranin sa kaunlaranMangibunong 6 sjb suliranin sa kaunlaran
Mangibunong 6 sjb suliranin sa kaunlaran
 
Mobile Accessibility - iOS, Android, Mobile Web
Mobile Accessibility - iOS, Android, Mobile WebMobile Accessibility - iOS, Android, Mobile Web
Mobile Accessibility - iOS, Android, Mobile Web
 
Automating the Gaps of Unit Testing Mobile Apps
Automating the Gaps of Unit Testing Mobile AppsAutomating the Gaps of Unit Testing Mobile Apps
Automating the Gaps of Unit Testing Mobile Apps
 
completed-transcript-5429617
completed-transcript-5429617completed-transcript-5429617
completed-transcript-5429617
 
ATIA Workshop - iOS Accessibility
ATIA Workshop - iOS AccessibilityATIA Workshop - iOS Accessibility
ATIA Workshop - iOS Accessibility
 
Where Does User Experience & Accessibility Meet?
Where Does User Experience & Accessibility Meet?Where Does User Experience & Accessibility Meet?
Where Does User Experience & Accessibility Meet?
 
User Experience and Accessibility
User Experience and AccessibilityUser Experience and Accessibility
User Experience and Accessibility
 
Learnings for Accessibility for iOS Platform
Learnings for Accessibility for iOS PlatformLearnings for Accessibility for iOS Platform
Learnings for Accessibility for iOS Platform
 
Mobile Accessibility (MobA11y)
Mobile Accessibility (MobA11y)Mobile Accessibility (MobA11y)
Mobile Accessibility (MobA11y)
 
iOS Accessibility
iOS AccessibilityiOS Accessibility
iOS Accessibility
 
Mobile Accessibility on the Move
Mobile Accessibility on the MoveMobile Accessibility on the Move
Mobile Accessibility on the Move
 

Similaire à A11Y Camp - Lessons learnt from building accessible native mobile apps

Android UX-UI Design for fun and profit | Fernando Cejas | Tuenti
 Android UX-UI Design for fun and profit | Fernando Cejas | Tuenti   Android UX-UI Design for fun and profit | Fernando Cejas | Tuenti
Android UX-UI Design for fun and profit | Fernando Cejas | Tuenti
Smash Tech
 
Accessibility testing-Gyani and Siddhanth
Accessibility testing-Gyani and SiddhanthAccessibility testing-Gyani and Siddhanth
Accessibility testing-Gyani and Siddhanth
bhumika2108
 

Similaire à A11Y Camp - Lessons learnt from building accessible native mobile apps (20)

Nonintrusive semantic html5
Nonintrusive semantic html5Nonintrusive semantic html5
Nonintrusive semantic html5
 
Android UX-UI Design for Fun and Profit
Android UX-UI Design for Fun and ProfitAndroid UX-UI Design for Fun and Profit
Android UX-UI Design for Fun and Profit
 
Android UX-UI Design for Fun and Profit
Android UX-UI Design for Fun and ProfitAndroid UX-UI Design for Fun and Profit
Android UX-UI Design for Fun and Profit
 
Android UX-UI Design for fun and profit | Fernando Cejas | Tuenti
 Android UX-UI Design for fun and profit | Fernando Cejas | Tuenti   Android UX-UI Design for fun and profit | Fernando Cejas | Tuenti
Android UX-UI Design for fun and profit | Fernando Cejas | Tuenti
 
Consider Starting Small
Consider Starting SmallConsider Starting Small
Consider Starting Small
 
Comp4010 Lecture7 Designing AR Systems
Comp4010 Lecture7 Designing AR SystemsComp4010 Lecture7 Designing AR Systems
Comp4010 Lecture7 Designing AR Systems
 
iPhone OS: The Next Killer Platform
iPhone OS: The Next Killer PlatformiPhone OS: The Next Killer Platform
iPhone OS: The Next Killer Platform
 
Hybrid app development with ionic
Hybrid app development with ionicHybrid app development with ionic
Hybrid app development with ionic
 
iOS App Development and Marketing
iOS App Development and MarketingiOS App Development and Marketing
iOS App Development and Marketing
 
Webview: The fifth element
Webview: The fifth elementWebview: The fifth element
Webview: The fifth element
 
Layar introduction for developers
Layar introduction for developersLayar introduction for developers
Layar introduction for developers
 
"WebView, the fifth element" por @fernando_cejas
"WebView, the fifth element" por @fernando_cejas"WebView, the fifth element" por @fernando_cejas
"WebView, the fifth element" por @fernando_cejas
 
Universal access across devices
Universal access across devicesUniversal access across devices
Universal access across devices
 
Multi Channel Publishing
Multi Channel PublishingMulti Channel Publishing
Multi Channel Publishing
 
Assistive Technology Selection for Employment
Assistive Technology Selection for EmploymentAssistive Technology Selection for Employment
Assistive Technology Selection for Employment
 
Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?
 
Build Accessibly - Community Day 2012
Build Accessibly - Community Day 2012Build Accessibly - Community Day 2012
Build Accessibly - Community Day 2012
 
Accessibility testing-Gyani and Siddhanth
Accessibility testing-Gyani and SiddhanthAccessibility testing-Gyani and Siddhanth
Accessibility testing-Gyani and Siddhanth
 
Effectively Using UI Automation
Effectively Using UI AutomationEffectively Using UI Automation
Effectively Using UI Automation
 
Flutter workshop
Flutter workshopFlutter workshop
Flutter workshop
 

Dernier

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 

Dernier (20)

Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 

A11Y Camp - Lessons learnt from building accessible native mobile apps