SlideShare a Scribd company logo
Mobile accessibility
How to become socially responsible mobile developer?
Konstantin Loginov
About me
 7,5 years in Mobile development:
 Windows Mobile
 webOS
 Windows Phone 7/8
 iOS (native/Xamarin)
 Android
Current Position: Android Tech Lead at Microsoft
klogi@microsoft.com / https://no.linkedin.com/in/klogi
Why do I care about accessibility?
• Social responsibility – it’s just right
• Reaching out new users
 3B of the Internet users in 2015
 1.91B of smartphones users in 2015
• 2.56B in 2018
 More than 1B of Android users
 1B(every 7th!) have some form of disability
• 285M of visually impaired people
• 1 of 20 Americans are deaf or hard of hearing
 Getting better app’s ratings
 Extra chance to be featured by Apple
• Legal obligations
When we work on making our devices
accessible by the blind, I don't consider
the bloody ROI
Tim Cook
What makes app accessible?
 Every user interface element with which users can interact is accessible. This
includes elements that merely supply information, such as static text, as well as
controls that perform actions.
 All accessible elements supply accurate and helpful information.
Mobile accessibility – what does it involve?
 VoiceOver/Talkback – spoken feedback to help blind and low-vision users
 Switch Control/Switch Access – navigate through onscreen items and perform
actions using a Bluetooth-enabled switch hardware for people with impaired
physical and motor skills
 Large text, color inversion
 Zoom / Magnification gestures – to zoom in screen’s content
 Siri / Google Now
iOS vs. Android
Wall of Shame
Wall of Fame
Fall of Fame and Shame videos
https://www.dropbox.com/sh/ledinbtf6dq864k/AADC_
mVo4WRDTvmZ4It9jtEWa?dl=0
Mobile Accessibility Practices
If you are following the rules –
application is already accessible!
Android practices
 Do not use small text sizes
 Do not use “dp” as a textSize, only “sp”
 Use contrast colors for text and background
 Carefully use third-party libraries for UI work
 Give a meaningful contentDescriptions for ImageViews, Buttons, CheckBox, etc.
Android practices
 Don’t forget “state_focused” in selector
 If element is not essential for TalkBack mark it as not important for accessibility
(API level 16+):
 Review & modified, if needed, focus order or disable focusability with layout
attributes: nextFocusDown,.., nextFocusUp, focusable
 Go through the checklist before every release:
http://developer.android.com/guide/topics/ui/accessibility/checklist.html
Android practices
 How to check if Talkback is turned on (API level 14+):
public static boolean isScreenReaderActive(Context context) {
AccessibilityManager accessibilityManager = (
AccessibilityManager) context.getSystemService(Context.
ACCESSIBILITY_SERVICE);
return accessibilityManager.isTouchExplorationEnabled();
}
 How to check if View in Talkback’s focus (API level 21+):
View.isAccessibilityFocused();
 Read more about accessibility for Android:
http://developer.android.com/guide/topics/ui/accessibility/index.html
iOS practices
 Use Apple’s build-in apps as an example
 Give a meaningful Titles/Labels, Hints for UIImageViews, UIButtons, UISwitches, etc.
 Review Traits and use the right ones
It can be done in Interface Builder or in the code-behind
 Have hints for page titles in UITabBarController
• Label: Favorites
• Hint: Shows documents you've added to your favorites.
iOS practices
 Make custom individual Views accessible
 Use Accessibility Inspector on iOS Simulator during
development
Read more:
https://developer.apple.com/library/ios/technotes/TestingAcces
sibilityOfiOSApps/TestAccessibilityiniOSSimulatorwithAccessibili
tyInspector/TestAccessibilityiniOSSimulatorwithAccessibilityInsp
ector.html#//apple_ref/doc/uid/TP40012619-CH4-SW1
iOS practices
 Use UIAccessibilityAction
 (BOOL)accessibilityScroll:(UIAccessibilityScrollDirection)direction - scrolls screen content
in an application-specific way
Required UIAccessibilityPageScrolledNotification with the new page status (such as “Page 1 of 2”).
 Custom control with is adjustable element has to:
 Include the UIAccessibilityTraitAdjustable trait
 Implement accessibilityIncrement and accessibilityDecrement methods
iOS practices
 Use UIAccessibilityCustomAction (iOS 8+)
Common for both platforms practices
 Make all people productive
 Don’t reinvent the wheel – stick to platform-specific navigation model
 No audio-only feedback
 VoiceOver/TalkBack texts have to be also localized
 Test the app
How can I test my Android app?
 Enable accessibility on your device:
How can I test my Android app?
 Test: Directional controls – app must be operable without touchscreen
 Test: TalkBack audio promts – UI controls have clear and accurate audio
descriptions
 Test: Touchable control size – all actionable controls bigger, than 48x48 dp
 Test: In-app gestures work with Talkback enabled
 Test: no audio-only feedback
How can I test my iOS app?
 Again, use Accessibility Inspector
 Enable accessibility on your device:
How can I test my iOS app?
 Test: Directional controls – app must be operable without touchscreen
 Test: VoiceOver audio promts – UI controls have clear and accurate audio
descriptions
 To avoid cheating – enable Screen Curtain, so you can rely only VoiceOver speaks
 Test: Touchable control size – all actionable controls bigger, than 44x44 px
 Test: no audio-only feedback
Instead of conclusion
 Accessibility is not an investment – it’s just adopting right coding-practices
 Accessibility does not impact your ability to innovate and create beautiful apps
 It’s easy!
 Xamarin claims to have full support of accessibility features.
klogi@microsoft.com / https://no.linkedin.com/in/klogi

More Related Content

What's hot

Girls Can Code Mobile App Day 1
Girls Can Code Mobile App Day 1Girls Can Code Mobile App Day 1
Girls Can Code Mobile App Day 1
Kayla Leung
 
Gitansh_Gupta_Resume
Gitansh_Gupta_ResumeGitansh_Gupta_Resume
Gitansh_Gupta_ResumeGitansh Gupta
 
BHAGWANT UNIVERSITY
BHAGWANT UNIVERSITYBHAGWANT UNIVERSITY
BHAGWANT UNIVERSITYSuraj Singh
 
A Guide for Anyone Who Wants to Turn App Development Idea into Reality
A Guide for Anyone Who Wants to Turn App Development Idea into RealityA Guide for Anyone Who Wants to Turn App Development Idea into Reality
A Guide for Anyone Who Wants to Turn App Development Idea into Reality
IndianAppDevelopers
 
Eindhoven Mobile Development First Meetup Slides
Eindhoven Mobile Development First Meetup SlidesEindhoven Mobile Development First Meetup Slides
Eindhoven Mobile Development First Meetup Slides
Chris Key
 
My i-app questionnaire
My i-app questionnaireMy i-app questionnaire
My i-app questionnaireaknowles20
 
Android technlogy
Android technlogyAndroid technlogy
Android technlogy
Ajay Chawda
 
Ionic
IonicIonic
Ionic
Umut IŞIK
 
Android app Presentation and Documentation Vignan buddy presentation
Android app Presentation and Documentation Vignan buddy presentationAndroid app Presentation and Documentation Vignan buddy presentation
Android app Presentation and Documentation Vignan buddy presentation
Saigopi Narimeti
 
Prototype Development in Mobile-Learning Design Research
Prototype Development in Mobile-Learning Design ResearchPrototype Development in Mobile-Learning Design Research
Prototype Development in Mobile-Learning Design Research
Alan Foley
 
Project presentation -chady abidi
Project presentation -chady abidiProject presentation -chady abidi
Project presentation -chady abidi
chadyabidi
 
Android_Workshop
Android_WorkshopAndroid_Workshop
Android_WorkshopSenthil ACS
 
Study time app presentation
Study time app presentationStudy time app presentation
Study time app presentation
smsschool
 
"Native App & Hybrid App, what is at stake?" by Olivier Berni
"Native App & Hybrid App, what is at stake?" by Olivier Berni"Native App & Hybrid App, what is at stake?" by Olivier Berni
"Native App & Hybrid App, what is at stake?" by Olivier Berni
TheFamily
 
What are the challenges in i os app development
What are the challenges in i os app developmentWhat are the challenges in i os app development
What are the challenges in i os app development
SatawareTechnologies
 
Mobile App Testing by Mark Wilson
Mobile App Testing by Mark WilsonMobile App Testing by Mark Wilson
Mobile App Testing by Mark Wilson
phpwgtn
 
Automation Proposal_V1.0
Automation Proposal_V1.0Automation Proposal_V1.0
Automation Proposal_V1.0Dao Nhỏ
 
Ux design mistakes to avoid mobile app development guide
Ux design mistakes to avoid mobile app development guideUx design mistakes to avoid mobile app development guide
Ux design mistakes to avoid mobile app development guide
WebGuru Infosystems Pvt. Ltd.
 
Process of iOS App Development
Process of iOS App DevelopmentProcess of iOS App Development
Process of iOS App Development
WDP Technologies
 

What's hot (20)

Girls Can Code Mobile App Day 1
Girls Can Code Mobile App Day 1Girls Can Code Mobile App Day 1
Girls Can Code Mobile App Day 1
 
Gitansh_Gupta_Resume
Gitansh_Gupta_ResumeGitansh_Gupta_Resume
Gitansh_Gupta_Resume
 
BHAGWANT UNIVERSITY
BHAGWANT UNIVERSITYBHAGWANT UNIVERSITY
BHAGWANT UNIVERSITY
 
A Guide for Anyone Who Wants to Turn App Development Idea into Reality
A Guide for Anyone Who Wants to Turn App Development Idea into RealityA Guide for Anyone Who Wants to Turn App Development Idea into Reality
A Guide for Anyone Who Wants to Turn App Development Idea into Reality
 
Eindhoven Mobile Development First Meetup Slides
Eindhoven Mobile Development First Meetup SlidesEindhoven Mobile Development First Meetup Slides
Eindhoven Mobile Development First Meetup Slides
 
FirstMeetupSlides
FirstMeetupSlidesFirstMeetupSlides
FirstMeetupSlides
 
My i-app questionnaire
My i-app questionnaireMy i-app questionnaire
My i-app questionnaire
 
Android technlogy
Android technlogyAndroid technlogy
Android technlogy
 
Ionic
IonicIonic
Ionic
 
Android app Presentation and Documentation Vignan buddy presentation
Android app Presentation and Documentation Vignan buddy presentationAndroid app Presentation and Documentation Vignan buddy presentation
Android app Presentation and Documentation Vignan buddy presentation
 
Prototype Development in Mobile-Learning Design Research
Prototype Development in Mobile-Learning Design ResearchPrototype Development in Mobile-Learning Design Research
Prototype Development in Mobile-Learning Design Research
 
Project presentation -chady abidi
Project presentation -chady abidiProject presentation -chady abidi
Project presentation -chady abidi
 
Android_Workshop
Android_WorkshopAndroid_Workshop
Android_Workshop
 
Study time app presentation
Study time app presentationStudy time app presentation
Study time app presentation
 
"Native App & Hybrid App, what is at stake?" by Olivier Berni
"Native App & Hybrid App, what is at stake?" by Olivier Berni"Native App & Hybrid App, what is at stake?" by Olivier Berni
"Native App & Hybrid App, what is at stake?" by Olivier Berni
 
What are the challenges in i os app development
What are the challenges in i os app developmentWhat are the challenges in i os app development
What are the challenges in i os app development
 
Mobile App Testing by Mark Wilson
Mobile App Testing by Mark WilsonMobile App Testing by Mark Wilson
Mobile App Testing by Mark Wilson
 
Automation Proposal_V1.0
Automation Proposal_V1.0Automation Proposal_V1.0
Automation Proposal_V1.0
 
Ux design mistakes to avoid mobile app development guide
Ux design mistakes to avoid mobile app development guideUx design mistakes to avoid mobile app development guide
Ux design mistakes to avoid mobile app development guide
 
Process of iOS App Development
Process of iOS App DevelopmentProcess of iOS App Development
Process of iOS App Development
 

Similar to Mobile Accessibility - How To Become Socially Responsible Mobile Developer

Droidcon2014 - Android UX
Droidcon2014 - Android UXDroidcon2014 - Android UX
Droidcon2014 - Android UX
Piervincenzo Madeo
 
Everything You Need to Know About Testing Foldable Phones
Everything You Need to Know About Testing Foldable PhonesEverything You Need to Know About Testing Foldable Phones
Everything You Need to Know About Testing Foldable Phones
Perfecto by Perforce
 
20170302 tryswift tasting_tests
20170302 tryswift tasting_tests20170302 tryswift tasting_tests
20170302 tryswift tasting_tests
Kazuaki Matsuo
 
10 stages of mobile app development process 2022
10 stages of mobile app development process 202210 stages of mobile app development process 2022
10 stages of mobile app development process 2022
SynapseIndia
 
hema ppt (2).pptx
hema ppt (2).pptxhema ppt (2).pptx
hema ppt (2).pptx
balasekaran5
 
Tools and Techniques for mobile learning
Tools and Techniques for mobile learningTools and Techniques for mobile learning
Tools and Techniques for mobile learning
geoff stead
 
Native app testing methodology final
Native app testing methodology   finalNative app testing methodology   final
Native app testing methodology final
vjatin
 
Mobile Programming - 9 Profile UI, Navigation Basic and Splash Screen
Mobile Programming - 9 Profile UI, Navigation Basic and Splash ScreenMobile Programming - 9 Profile UI, Navigation Basic and Splash Screen
Mobile Programming - 9 Profile UI, Navigation Basic and Splash Screen
AndiNurkholis1
 
Lean Startup Machine - Mobile App Development
Lean Startup Machine - Mobile App DevelopmentLean Startup Machine - Mobile App Development
Lean Startup Machine - Mobile App Development
Aravind Krishnaswamy
 
Sogeti - Android tech track presentation - 24 february 2011
Sogeti - Android tech track presentation - 24 february 2011Sogeti - Android tech track presentation - 24 february 2011
Sogeti - Android tech track presentation - 24 february 2011
Kenneth van Rumste
 
Notes Unit3.pptx
Notes Unit3.pptxNotes Unit3.pptx
Notes Unit3.pptx
MIT Autonomous Aurangabad
 
Vinodkumar_Testconsultant_sandisk
Vinodkumar_Testconsultant_sandiskVinodkumar_Testconsultant_sandisk
Vinodkumar_Testconsultant_sandiskVinod Kumar
 
Mobile Application Development and Types(1)
Mobile Application Development and Types(1)Mobile Application Development and Types(1)
Mobile Application Development and Types(1)
IsraelSoga
 
Essential Skills Your Next App Development Company Must Have.pdf
Essential Skills Your Next App Development Company Must Have.pdfEssential Skills Your Next App Development Company Must Have.pdf
Essential Skills Your Next App Development Company Must Have.pdf
QServices Inc.
 
Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?
Effective
 
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...
Shane Church
 
Devmento발표100525
Devmento발표100525Devmento발표100525
Devmento발표100525jinwook shin
 

Similar to Mobile Accessibility - How To Become Socially Responsible Mobile Developer (20)

Droidcon2014 - Android UX
Droidcon2014 - Android UXDroidcon2014 - Android UX
Droidcon2014 - Android UX
 
Everything You Need to Know About Testing Foldable Phones
Everything You Need to Know About Testing Foldable PhonesEverything You Need to Know About Testing Foldable Phones
Everything You Need to Know About Testing Foldable Phones
 
20170302 tryswift tasting_tests
20170302 tryswift tasting_tests20170302 tryswift tasting_tests
20170302 tryswift tasting_tests
 
10 stages of mobile app development process 2022
10 stages of mobile app development process 202210 stages of mobile app development process 2022
10 stages of mobile app development process 2022
 
hema ppt (2).pptx
hema ppt (2).pptxhema ppt (2).pptx
hema ppt (2).pptx
 
Vc info park
Vc  info parkVc  info park
Vc info park
 
Tools and Techniques for mobile learning
Tools and Techniques for mobile learningTools and Techniques for mobile learning
Tools and Techniques for mobile learning
 
iPhone Lunch And Learn
iPhone Lunch And LearniPhone Lunch And Learn
iPhone Lunch And Learn
 
Native app testing methodology final
Native app testing methodology   finalNative app testing methodology   final
Native app testing methodology final
 
Mobile Programming - 9 Profile UI, Navigation Basic and Splash Screen
Mobile Programming - 9 Profile UI, Navigation Basic and Splash ScreenMobile Programming - 9 Profile UI, Navigation Basic and Splash Screen
Mobile Programming - 9 Profile UI, Navigation Basic and Splash Screen
 
Lean Startup Machine - Mobile App Development
Lean Startup Machine - Mobile App DevelopmentLean Startup Machine - Mobile App Development
Lean Startup Machine - Mobile App Development
 
Sogeti - Android tech track presentation - 24 february 2011
Sogeti - Android tech track presentation - 24 february 2011Sogeti - Android tech track presentation - 24 february 2011
Sogeti - Android tech track presentation - 24 february 2011
 
Notes Unit3.pptx
Notes Unit3.pptxNotes Unit3.pptx
Notes Unit3.pptx
 
Vinodkumar_Testconsultant_sandisk
Vinodkumar_Testconsultant_sandiskVinodkumar_Testconsultant_sandisk
Vinodkumar_Testconsultant_sandisk
 
Mobile Application Development and Types(1)
Mobile Application Development and Types(1)Mobile Application Development and Types(1)
Mobile Application Development and Types(1)
 
Resume_iOSDev
Resume_iOSDevResume_iOSDev
Resume_iOSDev
 
Essential Skills Your Next App Development Company Must Have.pdf
Essential Skills Your Next App Development Company Must Have.pdfEssential Skills Your Next App Development Company Must Have.pdf
Essential Skills Your Next App Development Company Must Have.pdf
 
Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?
 
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...
 
Devmento발표100525
Devmento발표100525Devmento발표100525
Devmento발표100525
 

Recently uploaded

Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 

Recently uploaded (20)

Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 

Mobile Accessibility - How To Become Socially Responsible Mobile Developer

  • 1. Mobile accessibility How to become socially responsible mobile developer? Konstantin Loginov
  • 2. About me  7,5 years in Mobile development:  Windows Mobile  webOS  Windows Phone 7/8  iOS (native/Xamarin)  Android Current Position: Android Tech Lead at Microsoft klogi@microsoft.com / https://no.linkedin.com/in/klogi
  • 3. Why do I care about accessibility? • Social responsibility – it’s just right • Reaching out new users  3B of the Internet users in 2015  1.91B of smartphones users in 2015 • 2.56B in 2018  More than 1B of Android users  1B(every 7th!) have some form of disability • 285M of visually impaired people • 1 of 20 Americans are deaf or hard of hearing  Getting better app’s ratings  Extra chance to be featured by Apple • Legal obligations When we work on making our devices accessible by the blind, I don't consider the bloody ROI Tim Cook
  • 4. What makes app accessible?  Every user interface element with which users can interact is accessible. This includes elements that merely supply information, such as static text, as well as controls that perform actions.  All accessible elements supply accurate and helpful information.
  • 5. Mobile accessibility – what does it involve?  VoiceOver/Talkback – spoken feedback to help blind and low-vision users  Switch Control/Switch Access – navigate through onscreen items and perform actions using a Bluetooth-enabled switch hardware for people with impaired physical and motor skills  Large text, color inversion  Zoom / Magnification gestures – to zoom in screen’s content  Siri / Google Now
  • 9. Fall of Fame and Shame videos https://www.dropbox.com/sh/ledinbtf6dq864k/AADC_ mVo4WRDTvmZ4It9jtEWa?dl=0
  • 10. Mobile Accessibility Practices If you are following the rules – application is already accessible!
  • 11. Android practices  Do not use small text sizes  Do not use “dp” as a textSize, only “sp”  Use contrast colors for text and background  Carefully use third-party libraries for UI work  Give a meaningful contentDescriptions for ImageViews, Buttons, CheckBox, etc.
  • 12. Android practices  Don’t forget “state_focused” in selector  If element is not essential for TalkBack mark it as not important for accessibility (API level 16+):  Review & modified, if needed, focus order or disable focusability with layout attributes: nextFocusDown,.., nextFocusUp, focusable  Go through the checklist before every release: http://developer.android.com/guide/topics/ui/accessibility/checklist.html
  • 13. Android practices  How to check if Talkback is turned on (API level 14+): public static boolean isScreenReaderActive(Context context) { AccessibilityManager accessibilityManager = ( AccessibilityManager) context.getSystemService(Context. ACCESSIBILITY_SERVICE); return accessibilityManager.isTouchExplorationEnabled(); }  How to check if View in Talkback’s focus (API level 21+): View.isAccessibilityFocused();  Read more about accessibility for Android: http://developer.android.com/guide/topics/ui/accessibility/index.html
  • 14. iOS practices  Use Apple’s build-in apps as an example  Give a meaningful Titles/Labels, Hints for UIImageViews, UIButtons, UISwitches, etc.  Review Traits and use the right ones It can be done in Interface Builder or in the code-behind  Have hints for page titles in UITabBarController • Label: Favorites • Hint: Shows documents you've added to your favorites.
  • 15. iOS practices  Make custom individual Views accessible  Use Accessibility Inspector on iOS Simulator during development Read more: https://developer.apple.com/library/ios/technotes/TestingAcces sibilityOfiOSApps/TestAccessibilityiniOSSimulatorwithAccessibili tyInspector/TestAccessibilityiniOSSimulatorwithAccessibilityInsp ector.html#//apple_ref/doc/uid/TP40012619-CH4-SW1
  • 16. iOS practices  Use UIAccessibilityAction  (BOOL)accessibilityScroll:(UIAccessibilityScrollDirection)direction - scrolls screen content in an application-specific way Required UIAccessibilityPageScrolledNotification with the new page status (such as “Page 1 of 2”).  Custom control with is adjustable element has to:  Include the UIAccessibilityTraitAdjustable trait  Implement accessibilityIncrement and accessibilityDecrement methods
  • 17. iOS practices  Use UIAccessibilityCustomAction (iOS 8+)
  • 18. Common for both platforms practices  Make all people productive  Don’t reinvent the wheel – stick to platform-specific navigation model  No audio-only feedback  VoiceOver/TalkBack texts have to be also localized  Test the app
  • 19. How can I test my Android app?  Enable accessibility on your device:
  • 20. How can I test my Android app?  Test: Directional controls – app must be operable without touchscreen  Test: TalkBack audio promts – UI controls have clear and accurate audio descriptions  Test: Touchable control size – all actionable controls bigger, than 48x48 dp  Test: In-app gestures work with Talkback enabled  Test: no audio-only feedback
  • 21. How can I test my iOS app?  Again, use Accessibility Inspector  Enable accessibility on your device:
  • 22. How can I test my iOS app?  Test: Directional controls – app must be operable without touchscreen  Test: VoiceOver audio promts – UI controls have clear and accurate audio descriptions  To avoid cheating – enable Screen Curtain, so you can rely only VoiceOver speaks  Test: Touchable control size – all actionable controls bigger, than 44x44 px  Test: no audio-only feedback
  • 23. Instead of conclusion  Accessibility is not an investment – it’s just adopting right coding-practices  Accessibility does not impact your ability to innovate and create beautiful apps  It’s easy!  Xamarin claims to have full support of accessibility features.