SlideShare ist ein Scribd-Unternehmen logo
1 von 24
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

Weitere ähnliche Inhalte

Was ist angesagt?

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 1Kayla 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 RealityIndianAppDevelopers
 
Eindhoven Mobile Development First Meetup Slides
Eindhoven Mobile Development First Meetup SlidesEindhoven Mobile Development First Meetup Slides
Eindhoven Mobile Development First Meetup SlidesChris Key
 
My i-app questionnaire
My i-app questionnaireMy i-app questionnaire
My i-app questionnaireaknowles20
 
Android technlogy
Android technlogyAndroid technlogy
Android technlogyAjay Chawda
 
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 presentationSaigopi 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 ResearchAlan Foley
 
Project presentation -chady abidi
Project presentation -chady abidiProject presentation -chady abidi
Project presentation -chady abidichadyabidi
 
Android_Workshop
Android_WorkshopAndroid_Workshop
Android_WorkshopSenthil ACS
 
Study time app presentation
Study time app presentationStudy time app presentation
Study time app presentationsmsschool
 
"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 BerniTheFamily
 
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 developmentSatawareTechnologies
 
Mobile App Testing by Mark Wilson
Mobile App Testing by Mark WilsonMobile App Testing by Mark Wilson
Mobile App Testing by Mark Wilsonphpwgtn
 
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 guideWebGuru Infosystems Pvt. Ltd.
 
Process of iOS App Development
Process of iOS App DevelopmentProcess of iOS App Development
Process of iOS App DevelopmentWDP Technologies
 

Was ist angesagt? (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
 

Ähnlich wie Mobile Accessibility - How To Become Socially Responsible Mobile Developer

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 PhonesPerfecto by Perforce
 
20170302 tryswift tasting_tests
20170302 tryswift tasting_tests20170302 tryswift tasting_tests
20170302 tryswift tasting_testsKazuaki 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 2022SynapseIndia
 
Tools and Techniques for mobile learning
Tools and Techniques for mobile learningTools and Techniques for mobile learning
Tools and Techniques for mobile learninggeoff stead
 
Native app testing methodology final
Native app testing methodology   finalNative app testing methodology   final
Native app testing methodology finalvjatin
 
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 ScreenAndiNurkholis1
 
Lean Startup Machine - Mobile App Development
Lean Startup Machine - Mobile App DevelopmentLean Startup Machine - Mobile App Development
Lean Startup Machine - Mobile App DevelopmentAravind 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 2011Kenneth van Rumste
 
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.pdfQServices Inc.
 
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
 
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
 
Devmento발표100525
Devmento발표100525Devmento발표100525
Devmento발표100525jinwook shin
 

Ähnlich wie 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? - 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...
 
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?
 
Devmento발표100525
Devmento발표100525Devmento발표100525
Devmento발표100525
 

Kürzlich hochgeladen

Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsSachinPawar510423
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptJasonTagapanGulla
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction managementMariconPadriquez1
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 

Kürzlich hochgeladen (20)

Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documents
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.ppt
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction management
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .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.