SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
How to make an app
like Clear accessible
Sally Shepard // @mostgood
A few months ago in
Berlin...
On a scale of complexity...
Hello world!
For the next 15-ish
minutes...
• Accessibility	

• Demo of Clear	

• Adding support 	

• Designing accessibility
What do I mean by
‘accessible’?
“Why can’t everyone use my app?”
UIAccessibility APIs
accessibilityLabel
accessibilityTraits
accessibilityValue
accessibilityHint
isAccessibilityElement
Demo
Making it accessible
Let the user know
where they are and
what they can do.
Using notifications
- (void)viewDidAppear:(BOOL)animated!
{!
[super viewDidAppear:animated]; !
UIAccessibilityPostNotification(UIAccessibilityScreenChangedNoti
fication, self.currentToDoList);!
}!
Direct Interaction
!
- (UIAccessibilityTraits)accessibilityTraits
{
return UIAccessibilityTraitAllowsDirectInteraction;
}
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];
}
Construct an entirely
different “UI”
Find out if user has
VoiceOver on
BOOL isVoiceOverOn =
UIAccessiblityIsVoiceOverRunning():
Not using UIKit?
Implement
UIAccessibilityContainer
protocol
Test what you’ve done.
On a device.
With Screen Curtain on.
Designing accessibility
When it comes to designing
an app to be accessible,
YOU are the designer.
Be creative.
(but maybe not too creative)
Trial and error
Usability testing.
@AppleVis
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

Contenu connexe

Similaire à Making an app like 'Clear' Accessible

Session 210 _accessibility_for_ios
Session 210 _accessibility_for_iosSession 210 _accessibility_for_ios
Session 210 _accessibility_for_ioscheinyeanlim
 
Parallactic Collection Views
Parallactic Collection ViewsParallactic Collection Views
Parallactic Collection ViewsRené Cacheaux
 
iOS and Android accessibility APIs (AccessU 2017)
iOS and Android accessibility APIs (AccessU 2017)iOS and Android accessibility APIs (AccessU 2017)
iOS and Android accessibility APIs (AccessU 2017)Jon Gibbins
 
Intro to iOS Application Architecture
Intro to iOS Application ArchitectureIntro to iOS Application Architecture
Intro to iOS Application ArchitectureMake School
 
Mobile Prototyping
Mobile PrototypingMobile Prototyping
Mobile PrototypingDonna Lichaw
 
Cross-platform Native App ontwikkeling met Appcelerator
Cross-platform Native App ontwikkeling met AppceleratorCross-platform Native App ontwikkeling met Appcelerator
Cross-platform Native App ontwikkeling met AppceleratorFokke Zandbergen
 
Learnings for Accessibility for iOS Platform
Learnings for Accessibility for iOS PlatformLearnings for Accessibility for iOS Platform
Learnings for Accessibility for iOS PlatformTasneem Sayeed
 
Android accessibility for developers and QA
Android accessibility for developers and QAAndroid accessibility for developers and QA
Android accessibility for developers and QATed Drake
 
iPhone Camp Birmingham (Bham) - Intro To iPhone Development
iPhone Camp Birmingham (Bham) - Intro To iPhone DevelopmentiPhone Camp Birmingham (Bham) - Intro To iPhone Development
iPhone Camp Birmingham (Bham) - Intro To iPhone Developmentandriajensen
 
IBDesignable - CocoaConf Seattle 2014
IBDesignable - CocoaConf Seattle 2014IBDesignable - CocoaConf Seattle 2014
IBDesignable - CocoaConf Seattle 2014Martin Nash
 
Siri and the Upgrade Parts
Siri and the Upgrade PartsSiri and the Upgrade Parts
Siri and the Upgrade Partspitiphong_p
 
A gently introduction to AngularJS
A gently introduction to AngularJSA gently introduction to AngularJS
A gently introduction to AngularJSGregor Woiwode
 
How To Build iOS Apps Without interface Builder
How To Build iOS Apps Without interface BuilderHow To Build iOS Apps Without interface Builder
How To Build iOS Apps Without interface Builderdasdom
 
Appium tips & Inneractive integration
Appium tips & Inneractive integrationAppium tips & Inneractive integration
Appium tips & Inneractive integrationGil Sheps
 
Cucumber meets iPhone
Cucumber meets iPhoneCucumber meets iPhone
Cucumber meets iPhoneErin Dees
 
A tour through Swift attributes
A tour through Swift attributesA tour through Swift attributes
A tour through Swift attributesMarco Eidinger
 

Similaire à Making an app like 'Clear' Accessible (20)

Session 210 _accessibility_for_ios
Session 210 _accessibility_for_iosSession 210 _accessibility_for_ios
Session 210 _accessibility_for_ios
 
Parallactic Collection Views
Parallactic Collection ViewsParallactic Collection Views
Parallactic Collection Views
 
iOS and Android accessibility APIs (AccessU 2017)
iOS and Android accessibility APIs (AccessU 2017)iOS and Android accessibility APIs (AccessU 2017)
iOS and Android accessibility APIs (AccessU 2017)
 
Intro to iOS Application Architecture
Intro to iOS Application ArchitectureIntro to iOS Application Architecture
Intro to iOS Application Architecture
 
Mobile Prototyping
Mobile PrototypingMobile Prototyping
Mobile Prototyping
 
Cross-platform Native App ontwikkeling met Appcelerator
Cross-platform Native App ontwikkeling met AppceleratorCross-platform Native App ontwikkeling met Appcelerator
Cross-platform Native App ontwikkeling met Appcelerator
 
Learnings for Accessibility for iOS Platform
Learnings for Accessibility for iOS PlatformLearnings for Accessibility for iOS Platform
Learnings for Accessibility for iOS Platform
 
Swift
SwiftSwift
Swift
 
Android accessibility for developers and QA
Android accessibility for developers and QAAndroid accessibility for developers and QA
Android accessibility for developers and QA
 
iPhone Camp Birmingham (Bham) - Intro To iPhone Development
iPhone Camp Birmingham (Bham) - Intro To iPhone DevelopmentiPhone Camp Birmingham (Bham) - Intro To iPhone Development
iPhone Camp Birmingham (Bham) - Intro To iPhone Development
 
04 objective-c session 4
04  objective-c session 404  objective-c session 4
04 objective-c session 4
 
IBDesignable - CocoaConf Seattle 2014
IBDesignable - CocoaConf Seattle 2014IBDesignable - CocoaConf Seattle 2014
IBDesignable - CocoaConf Seattle 2014
 
Siri and the Upgrade Parts
Siri and the Upgrade PartsSiri and the Upgrade Parts
Siri and the Upgrade Parts
 
A gently introduction to AngularJS
A gently introduction to AngularJSA gently introduction to AngularJS
A gently introduction to AngularJS
 
Storyboard
StoryboardStoryboard
Storyboard
 
How To Build iOS Apps Without interface Builder
How To Build iOS Apps Without interface BuilderHow To Build iOS Apps Without interface Builder
How To Build iOS Apps Without interface Builder
 
Appium tips & Inneractive integration
Appium tips & Inneractive integrationAppium tips & Inneractive integration
Appium tips & Inneractive integration
 
Xam expertday
Xam expertdayXam expertday
Xam expertday
 
Cucumber meets iPhone
Cucumber meets iPhoneCucumber meets iPhone
Cucumber meets iPhone
 
A tour through Swift attributes
A tour through Swift attributesA tour through Swift attributes
A tour through Swift attributes
 

Plus de Sally Shepard

Swift on Raspberry Pi
Swift on Raspberry PiSwift on Raspberry Pi
Swift on Raspberry PiSally Shepard
 
Swift hardware hacking @ try! Swift
Swift hardware hacking @ try! SwiftSwift hardware hacking @ try! Swift
Swift hardware hacking @ try! SwiftSally Shepard
 
Porting iOS apps to tvOS
Porting iOS apps to tvOSPorting iOS apps to tvOS
Porting iOS apps to tvOSSally Shepard
 
Porting iOS apps to tvOS
Porting iOS apps to tvOSPorting iOS apps to tvOS
Porting iOS apps to tvOSSally Shepard
 
Helping Users Create Good Habits @ AltConf 2017
Helping Users Create Good Habits @ AltConf 2017Helping Users Create Good Habits @ AltConf 2017
Helping Users Create Good Habits @ AltConf 2017Sally Shepard
 
iOS Accessibility Testing Workshop
iOS Accessibility Testing WorkshopiOS Accessibility Testing Workshop
iOS Accessibility Testing WorkshopSally Shepard
 
Helping Users Create Good Habits @ MCE 2017
Helping Users Create Good Habits @ MCE 2017Helping Users Create Good Habits @ MCE 2017
Helping Users Create Good Habits @ MCE 2017Sally Shepard
 
Debugging Accessibility @ Craft Conf
Debugging Accessibility @ Craft ConfDebugging Accessibility @ Craft Conf
Debugging Accessibility @ Craft ConfSally Shepard
 
Debugging Accessibility
Debugging AccessibilityDebugging Accessibility
Debugging AccessibilitySally Shepard
 
Crafting Great Accessible Experiences
Crafting Great Accessible ExperiencesCrafting Great Accessible Experiences
Crafting Great Accessible ExperiencesSally Shepard
 
Developing for Apple TV
Developing for Apple TVDeveloping for Apple TV
Developing for Apple TVSally Shepard
 
Implementing Inclusive Interfaces
Implementing Inclusive InterfacesImplementing Inclusive Interfaces
Implementing Inclusive InterfacesSally Shepard
 
Building habits: keeping users engaged
Building habits: keeping users engagedBuilding habits: keeping users engaged
Building habits: keeping users engagedSally Shepard
 
Implementing inclusive interfaces in iOS
Implementing inclusive interfaces in iOSImplementing inclusive interfaces in iOS
Implementing inclusive interfaces in iOSSally Shepard
 
Making apps for the Apple TV
Making apps for the Apple TVMaking apps for the Apple TV
Making apps for the Apple TVSally Shepard
 
Beyond VoiceOver: making iOS apps accessible
Beyond VoiceOver: making iOS apps accessibleBeyond VoiceOver: making iOS apps accessible
Beyond VoiceOver: making iOS apps accessibleSally Shepard
 

Plus de Sally Shepard (18)

Swift on Raspberry Pi
Swift on Raspberry PiSwift on Raspberry Pi
Swift on Raspberry Pi
 
Swift hardware hacking @ try! Swift
Swift hardware hacking @ try! SwiftSwift hardware hacking @ try! Swift
Swift hardware hacking @ try! Swift
 
Porting iOS apps to tvOS
Porting iOS apps to tvOSPorting iOS apps to tvOS
Porting iOS apps to tvOS
 
Porting iOS apps to tvOS
Porting iOS apps to tvOSPorting iOS apps to tvOS
Porting iOS apps to tvOS
 
Helping Users Create Good Habits @ AltConf 2017
Helping Users Create Good Habits @ AltConf 2017Helping Users Create Good Habits @ AltConf 2017
Helping Users Create Good Habits @ AltConf 2017
 
iOS Accessibility Testing Workshop
iOS Accessibility Testing WorkshopiOS Accessibility Testing Workshop
iOS Accessibility Testing Workshop
 
Helping Users Create Good Habits @ MCE 2017
Helping Users Create Good Habits @ MCE 2017Helping Users Create Good Habits @ MCE 2017
Helping Users Create Good Habits @ MCE 2017
 
Debugging Accessibility @ Craft Conf
Debugging Accessibility @ Craft ConfDebugging Accessibility @ Craft Conf
Debugging Accessibility @ Craft Conf
 
Accessibility
AccessibilityAccessibility
Accessibility
 
Debugging Accessibility
Debugging AccessibilityDebugging Accessibility
Debugging Accessibility
 
Crafting Great Accessible Experiences
Crafting Great Accessible ExperiencesCrafting Great Accessible Experiences
Crafting Great Accessible Experiences
 
Developing for Apple TV
Developing for Apple TVDeveloping for Apple TV
Developing for Apple TV
 
Implementing Inclusive Interfaces
Implementing Inclusive InterfacesImplementing Inclusive Interfaces
Implementing Inclusive Interfaces
 
Building habits: keeping users engaged
Building habits: keeping users engagedBuilding habits: keeping users engaged
Building habits: keeping users engaged
 
Implementing inclusive interfaces in iOS
Implementing inclusive interfaces in iOSImplementing inclusive interfaces in iOS
Implementing inclusive interfaces in iOS
 
Inheriting iOS code
Inheriting iOS codeInheriting iOS code
Inheriting iOS code
 
Making apps for the Apple TV
Making apps for the Apple TVMaking apps for the Apple TV
Making apps for the Apple TV
 
Beyond VoiceOver: making iOS apps accessible
Beyond VoiceOver: making iOS apps accessibleBeyond VoiceOver: making iOS apps accessible
Beyond VoiceOver: making iOS apps accessible
 

Dernier

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 

Dernier (20)

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 

Making an app like 'Clear' Accessible