SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Applying EU regulation to
native mobile apps
Jon Gibbins
Guidelinesand standards
Web Content Accessibility Guidelines
BBC Mobile Accessibility Guidelines
iOS Human Interface Guidelines
Material Design Accessibility Guidelines
Mobileguidelines
Compliance
EN 301549
Accessibility requirements for ICT products and
services
Web Content
Accessibility Guidelines (WCAG)
Version 2.1 (+ 2.2)
Problem 1
WCAG 2 terminology
Terminology
“Web content”
“Web pages”
“44 by 44 CSS pixels”
“In content
implemented using
markup languages…”
“Inthe spirit of…”
Problem 2
Web accessibility ≠ Native accessibility
Webaccessibility
WebContent
AccessibilityGuidelines
World WideWebConsortium
Digitalaccessibility
mobilea11y.com
appt.nl
github.com/dotjay
WCAG2.1
1.1.1 Non-text Content (A)
1.2.1 Audio-only and Video-only (Prerecorded) (A)
1.2.2 Captions (Prerecorded) (A)
1.2.3 Audio Description or Media Alternative (Prerecorded) (A)
1.2.4 Captions (Live) (AA)
1.2.5 Audio Description (Prerecorded) (AA)
1.2.6 Sign Language (Prerecorded) (AAA)
1.2.7 Extended Audio Description (Prerecorded) (AAA)
1.2.8 Media Alternative (Prerecorded) (AAA)
1.2.9 Audio-only (Live) (AAA)
1.3.1 Info and Relationships (A)
1.3.2 Meaningful Sequence (A)
1.3.3 Sensory Characteristics (A)
1.3.4 Orientation (AA)
1.3.5 Identify Input Purpose (AA)
1.3.6 Identify Purpose (AAA)
1.4.1 Use of Color (A)
1.4.2 Audio Control (A)
1.4.3 Contrast (Minimum) (AA)
1.4.4 Resize text (AA)
1.4.5 Images of Text (AA)
1.4.6 Contrast (Enhanced) (AAA)
1.4.7 Low or No Background Audio (AAA)
1.4.8 Visual Presentation (AAA)
1.4.9 Images of Text (No Exception) (AAA)
1.4.10 Reflow (AA)
1.4.11 Non-text Contrast (AA)
1.4.12 Text Spacing (AA)
1.4.13 Content on Hover or Focus (AA)
2.1.1 Keyboard (A)
2.1.2 No Keyboard Trap (A)
2.1.3 Keyboard (No Exception) (AAA)
2.1.4 Character Key Shortcuts (A)
2.2.1 Timing Adjustable (A)
2.2.2 Pause, Stop, Hide (A)
2.2.3 No Timing (AAA)
2.2.4 Interruptions (AAA)
2.2.5 Re-authenticating (AAA)
2.2.6 Timeouts (AAA)
2.3.1 Three Flashes or Below Threshold (A)
2.3.2 Three Flashes (AAA)
2.3.3 Animation from Interactions (AAA)
2.4.1 Bypass Blocks (A)
2.4.2 Page Titled (A)
2.4.3 Focus Order (A)
2.4.4 Link Purpose (In Context) (A)
2.4.5 Multiple Ways (AA)
2.4.6 Headings and Labels (AA)
2.4.7 Focus Visible (AA)
2.4.8 Location (AAA)
2.4.9 Link Purpose (Link Only) (AAA)
2.4.10 Section Headings (AAA)
2.5.1 Pointer Gestures (A)
2.5.2 Pointer Cancellation (A)
2.5.3 Label in Name (A)
2.5.4 Motion Actuation (A)
2.5.5 Target Size (AAA)
2.5.6 Concurrent Input Mechanism (AAA)
3.1.1 Language of Page (A)
3.1.2 Language of Parts (AA)
3.1.3 Unusual Words (AAA)
3.1.4 Abbreviations (AAA)
3.1.5 Reading Level (AAA)
3.1.6 Pronunciation (AAA)
3.2.1 On Focus (A)
3.2.2 On Input (A)
3.2.3 Consistent Navigation (AA)
3.2.4 Consistent Identification (AA)
3.2.5 Change on Request (AAA)
3.3.1 Error Identification (A)
3.3.2 Labels or Instructions (A)
3.3.3 Error Suggestion (AA)
3.3.4 Error Prevention (Legal, Financial, Data) (AA)
3.3.5 Help (AAA)
3.3.6 Error Prevention (All) (AAA)
4.1.1 Parsing (A)
4.1.2 Name, Role, Value (A)
4.1.3 Status Messages (AA)
–AAA
1.1.1 Non-text Content (A)
1.2.1 Audio-only and Video-only (Prerecorded) (A)
1.2.2 Captions (Prerecorded) (A)
1.2.3 Audio Description or Media Alternative (Prerecorded) (A)
1.2.4 Captions (Live) (AA)
1.2.5 Audio Description (Prerecorded) (AA)
1.3.1 Info and Relationships (A)
1.3.2 Meaningful Sequence (A)
1.3.3 Sensory Characteristics (A)
1.3.4 Orientation (AA)
1.3.5 Identify Input Purpose (AA)
1.4.1 Use of Color (A)
1.4.2 Audio Control (A)
1.4.3 Contrast (Minimum) (AA)
1.4.4 Resize text (AA)
1.4.5 Images of Text (AA)
1.4.10 Reflow (AA)
1.4.11 Non-text Contrast (AA)
1.4.12 Text Spacing (AA)
1.4.13 Content on Hover or Focus (AA)
2.1.1 Keyboard (A)
2.1.2 No Keyboard Trap (A)
2.1.4 Character Key Shortcuts (A)
2.2.1 Timing Adjustable (A)
2.2.2 Pause, Stop, Hide (A)
2.3.1 Three Flashes or Below Threshold (A)
2.4.1 Bypass Blocks (A)
2.4.2 Page Titled (A)
2.4.3 Focus Order (A)
2.4.4 Link Purpose (In Context) (A)
2.4.5 Multiple Ways (AA)
2.4.6 Headings and Labels (AA)
2.4.7 Focus Visible (AA)
2.5.1 Pointer Gestures (A)
2.5.2 Pointer Cancellation (A)
2.5.3 Label in Name (A)
2.5.4 Motion Actuation (A)
3.1.1 Language of Page (A)
3.1.2 Language of Parts (AA)
3.2.1 On Focus (A)
3.2.2 On Input (A)
3.2.3 Consistent Navigation (AA)
3.2.4 Consistent Identification (AA)
3.3.1 Error Identification (A)
3.3.2 Labels or Instructions (A)
3.3.3 Error Suggestion (AA)
3.3.4 Error Prevention (Legal, Financial, Data) (AA)
4.1.1 Parsing (A)
4.1.2 Name, Role, Value (A)
4.1.3 Status Messages (AA)
–Same as on Web
1.1.1 Non-text Content (A)
1.3.1 Info and Relationships (A)
1.3.4 Orientation (AA)
1.3.5 Identify Input Purpose (AA)
1.4.2 Audio Control (A)
1.4.4 Resize text (AA)
1.4.10 Reflow (AA)
1.4.12 Text Spacing (AA)
1.4.13 Content on Hover or Focus (AA)
2.1.1 Keyboard (A)
2.1.2 No Keyboard Trap (A)
2.1.4 Character Key Shortcuts (A)
2.2.2 Pause, Stop, Hide (A)
2.4.1 Bypass Blocks (A)
2.4.2 Page Titled (A)
2.4.3 Focus Order (A)
2.4.5 Multiple Ways (AA)
2.4.7 Focus Visible (AA)
2.5.1 Pointer Gestures (A)
2.5.2 Pointer Cancellation (A)
2.5.4 Motion Actuation (A)
3.1.1 Language of Page (A)
3.1.2 Language of Parts (AA)
4.1.1 Parsing (A)
4.1.3 Status Messages (AA)
1.3.4 Orientation (AA)
1.3.5 Identify Input Purpose (AA)
1.4.2 Audio Control (A)
1.4.4 Resize text (AA)
1.4.10 Reflow (AA)
1.4.12 Text Spacing (AA)
1.4.13 Content on Hover or Focus (AA)
2.1.1 Keyboard (A)
2.1.2 No Keyboard Trap (A)
2.1.4 Character Key Shortcuts (A)
2.4.1 Bypass Blocks (A)
2.4.2 Page Titled (A)
2.4.3 Focus Order (A)
2.4.5 Multiple Ways (AA)
2.4.7 Focus Visible (AA)
2.5.1 Pointer Gestures (A)
2.5.2 Pointer Cancellation (A)
2.5.4 Motion Actuation (A)
3.1.1 Language of Page (A)
3.1.2 Language of Parts (AA)
4.1.1 Parsing (A)
–TextSpacing
1.3.4 Orientation (AA)
1.3.5 Identify Input Purpose (AA)
1.4.2 Audio Control (A)
1.4.4 Resize text (AA)
1.4.10 Reflow (AA)
1.4.13 Content on Hover or Focus (AA)
2.1.1 Keyboard (A)
2.1.2 No Keyboard Trap (A)
2.1.4 Character Key Shortcuts (A)
2.4.1 Bypass Blocks (A)
2.4.2 Page Titled (A)
2.4.3 Focus Order (A)
2.4.5 Multiple Ways (AA)
2.4.7 Focus Visible (AA)
2.5.1 Pointer Gestures (A)
2.5.2 Pointer Cancellation (A)
2.5.4 Motion Actuation (A)
3.1.1 Language of Page (A)
3.1.2 Language of Parts (AA)
4.1.1 Parsing (A)
–Contenton Hover or Focus
1.3.4 Orientation (AA)
1.3.5 Identify Input Purpose (AA)
1.4.2 Audio Control (A)
1.4.4 Resize text (AA)
1.4.10 Reflow (AA)
2.1.1 Keyboard (A)
2.1.2 No Keyboard Trap (A)
2.1.4 Character Key Shortcuts (A)
2.4.1 Bypass Blocks (A)
2.4.2 Page Titled (A)
2.4.3 Focus Order (A)
2.4.5 Multiple Ways (AA)
2.4.7 Focus Visible (AA)
2.5.1 Pointer Gestures (A)
2.5.2 Pointer Cancellation (A)
2.5.4 Motion Actuation (A)
3.1.1 Language of Page (A)
3.1.2 Language of Parts (AA)
4.1.1 Parsing (A)
–Bypass Blocks
1.3.4 Orientation (AA)
1.3.5 Identify Input Purpose (AA)
1.4.2 Audio Control (A)
1.4.4 Resize text (AA)
1.4.10 Reflow (AA)
2.1.1 Keyboard (A)
2.1.2 No Keyboard Trap (A)
2.1.4 Character Key Shortcuts (A)
2.4.2 Page Titled (A)
2.4.3 Focus Order (A)
2.4.5 Multiple Ways (AA)
2.4.7 Focus Visible (AA)
2.5.1 Pointer Gestures (A)
2.5.2 Pointer Cancellation (A)
2.5.4 Motion Actuation (A)
3.1.1 Language of Page (A)
3.1.2 Language of Parts (AA)
4.1.1 Parsing (A)
–MultipleWays
1.3.4 Orientation (AA)
1.3.5 Identify Input Purpose (AA)
1.4.2 Audio Control (A)
1.4.4 Resize text (AA)
1.4.10 Reflow (AA)
2.1.1 Keyboard (A)
2.1.2 No Keyboard Trap (A)
2.1.4 Character Key Shortcuts (A)
2.4.2 Page Titled (A)
2.4.3 Focus Order (A)
2.4.7 Focus Visible (AA)
2.5.1 Pointer Gestures (A)
2.5.2 Pointer Cancellation (A)
2.5.4 Motion Actuation (A)
3.1.1 Language of Page (A)
3.1.2 Language of Parts (AA)
4.1.1 Parsing (A)
–FocusVisible
1.3.4 Orientation (AA)
1.3.5 Identify Input Purpose (AA)
1.4.2 Audio Control (A)
1.4.4 Resize text (AA)
1.4.10 Reflow (AA)
2.1.1 Keyboard (A)
2.1.2 No Keyboard Trap (A)
2.1.4 Character Key Shortcuts (A)
2.4.2 Page Titled (A)
2.4.3 Focus Order (A)
2.5.1 Pointer Gestures (A)
2.5.2 Pointer Cancellation (A)
2.5.4 Motion Actuation (A)
3.1.1 Language of Page (A)
3.1.2 Language of Parts (AA)
4.1.1 Parsing (A)
–Language
1.3.4 Orientation (AA)
1.3.5 Identify Input Purpose (AA)
1.4.2 Audio Control (A)
1.4.4 Resize text (AA)
1.4.10 Reflow (AA)
2.1.1 Keyboard (A)
2.1.2 No Keyboard Trap (A)
2.1.4 Character Key Shortcuts (A)
2.4.2 Page Titled (A)
2.4.3 Focus Order (A)
2.5.1 Pointer Gestures (A)
2.5.2 Pointer Cancellation (A)
2.5.4 Motion Actuation (A)
4.1.1 Parsing (A)
–Parsing
1.3.4 Orientation (AA)
1.3.5 Identify Input Purpose (AA)
1.4.2 Audio Control (A)
1.4.4 Resize text (AA)
1.4.10 Reflow (AA)
2.1.1 Keyboard (A)
2.1.2 No Keyboard Trap (A)
2.1.4 Character Key Shortcuts (A)
2.4.2 Page Titled (A)
2.4.3 Focus Order (A)
2.5.1 Pointer Gestures (A)
2.5.2 Pointer Cancellation (A)
2.5.4 Motion Actuation (A)
What’sleft?
What’sleft?
1.3.4 Orientation (AA)
1.3.5 Identify Input Purpose (AA)
1.4.4 Resize text (AA)
1.4.10 Reflow (AA)
2.1.1 Keyboard (A)
2.1.2 No Keyboard Trap (A)
2.1.4 Character Key Shortcuts (A)
2.4.2 Page Titled (A)
2.4.3 Focus Order (A)
2.5.1 Pointer Gestures (A)
2.5.2 Pointer Cancellation (A)
2.5.4 Motion Actuation (A)
What’sleft?
1.3.4 Orientation (AA)
1.3.5 Identify Input Purpose (AA)
1.4.4 Resize text (AA)
1.4.10 Reflow (AA)
2.1.1 Keyboard (A)
2.1.2 No Keyboard Trap (A)
2.1.4 Character Key Shortcuts (A)
2.4.2 Page Titled (A)
2.4.3 Focus Order (A)
2.5.1 Pointer Gestures (A)
2.5.2 Pointer Cancellation (A)
2.5.4 Motion Actuation (A)
1. Code analysis
Linting ?
AndroidLint
2. Automatedscan
Accessibility Scanner Accessibility Inspector
AccessibilityScanner
• Item labels
• Touch target sizes
• Resizable text
• Colour contrast
AccessibilityInspector
• Accessibility labels
• Missing accessibility information
• Touch target sizes
• Resizable text
• Colour contrast
AccessibilityInspector+ Xcode’sSimulator
44 dp
(density-independent pixels)
44 pt
(points)
44 CSS pixels
≍
TargetSize
• Level AAA, so a best practice
• 7mm x 7mm minimum
• WCAG 2.1 says…
Otherautomatedtools
• Google’s Toolbox for Accessibility for iOS (GTXiLib)
• Google's Accessibility Scanner for iOS (GSCXScanner)
• Deque’s axe™ DevTools (formerly WorldSpace Attest)
3. Screen readers
TalkBack VoiceOver
Mobilescreenreaders
2 main interaction methods
Mobilescreenreaders
Explore by touch
• Place finger on screen and move
• Items under your finger are
described by screen reader
• Tap with a second finger or double
tap to open/activate
Mobilescreenreaders
Gesture navigation
• Swipe right/left moves focus to
next/previous content in sequence
• Items are described by screen
reader as focus moves
• Double tap to activate
Page Titled
Activity title Summary Element
4. Keyboard
alone + with TalkBack alone + with VoiceOver
5. Voice/ Switch
Voice Access /
Switch Access
Voice Control /
Switch Control
6. Resizetext
Font size Larger text
Font size Larger text
“Largest”
≅ 132%
Font size Larger text
Slide to stop 10
≅ 235%
7. Colourcontrast
Scanner / screenshots Inspector / screenshots
Nativemobileaccessibility
1. Mobile accessibility is different to the Web
2. Compliance is fragile
3. Testing has some subtle issues to look out for
Copyright 2021 Jon Gibbins
All rights reserved.
Accessibility.Co
a trading name of As It Should Be Ltd
Photo credits: Unsplash

Weitere ähnliche Inhalte

Mehr von Jon Gibbins

Making sustainability accessible (Future Economy Network event, February 2021)
Making sustainability accessible (Future Economy Network event, February 2021)Making sustainability accessible (Future Economy Network event, February 2021)
Making sustainability accessible (Future Economy Network event, February 2021)Jon Gibbins
 
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)Jon Gibbins
 
Experiencing digital accessibility using your smartphone (Bristol ID&D, June ...
Experiencing digital accessibility using your smartphone (Bristol ID&D, June ...Experiencing digital accessibility using your smartphone (Bristol ID&D, June ...
Experiencing digital accessibility using your smartphone (Bristol ID&D, June ...Jon Gibbins
 
Experiencing digital accessibility (FEL 2018)
Experiencing digital accessibility (FEL 2018)Experiencing digital accessibility (FEL 2018)
Experiencing digital accessibility (FEL 2018)Jon Gibbins
 
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
 
Introduction to mobile accessibility
Introduction to mobile accessibilityIntroduction to mobile accessibility
Introduction to mobile accessibilityJon Gibbins
 
Hitting a moving target: achieving mobile inclusion
Hitting a moving target: achieving mobile inclusionHitting a moving target: achieving mobile inclusion
Hitting a moving target: achieving mobile inclusionJon Gibbins
 

Mehr von Jon Gibbins (7)

Making sustainability accessible (Future Economy Network event, February 2021)
Making sustainability accessible (Future Economy Network event, February 2021)Making sustainability accessible (Future Economy Network event, February 2021)
Making sustainability accessible (Future Economy Network event, February 2021)
 
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
 
Experiencing digital accessibility using your smartphone (Bristol ID&D, June ...
Experiencing digital accessibility using your smartphone (Bristol ID&D, June ...Experiencing digital accessibility using your smartphone (Bristol ID&D, June ...
Experiencing digital accessibility using your smartphone (Bristol ID&D, June ...
 
Experiencing digital accessibility (FEL 2018)
Experiencing digital accessibility (FEL 2018)Experiencing digital accessibility (FEL 2018)
Experiencing digital accessibility (FEL 2018)
 
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)
 
Introduction to mobile accessibility
Introduction to mobile accessibilityIntroduction to mobile accessibility
Introduction to mobile accessibility
 
Hitting a moving target: achieving mobile inclusion
Hitting a moving target: achieving mobile inclusionHitting a moving target: achieving mobile inclusion
Hitting a moving target: achieving mobile inclusion
 

Kürzlich hochgeladen

Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Anthony Dahanne
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 

Kürzlich hochgeladen (20)

Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 

Applying EU regulation to native mobile apps (IAAP webinar, December 2021)

  • 1. Applying EU regulation to native mobile apps Jon Gibbins
  • 3. Web Content Accessibility Guidelines BBC Mobile Accessibility Guidelines iOS Human Interface Guidelines Material Design Accessibility Guidelines Mobileguidelines
  • 5. EN 301549 Accessibility requirements for ICT products and services
  • 6. Web Content Accessibility Guidelines (WCAG) Version 2.1 (+ 2.2)
  • 7. Problem 1 WCAG 2 terminology
  • 8. Terminology “Web content” “Web pages” “44 by 44 CSS pixels” “In content implemented using markup languages…”
  • 10. Problem 2 Web accessibility ≠ Native accessibility
  • 16. WCAG2.1 1.1.1 Non-text Content (A) 1.2.1 Audio-only and Video-only (Prerecorded) (A) 1.2.2 Captions (Prerecorded) (A) 1.2.3 Audio Description or Media Alternative (Prerecorded) (A) 1.2.4 Captions (Live) (AA) 1.2.5 Audio Description (Prerecorded) (AA) 1.2.6 Sign Language (Prerecorded) (AAA) 1.2.7 Extended Audio Description (Prerecorded) (AAA) 1.2.8 Media Alternative (Prerecorded) (AAA) 1.2.9 Audio-only (Live) (AAA) 1.3.1 Info and Relationships (A) 1.3.2 Meaningful Sequence (A) 1.3.3 Sensory Characteristics (A) 1.3.4 Orientation (AA) 1.3.5 Identify Input Purpose (AA) 1.3.6 Identify Purpose (AAA) 1.4.1 Use of Color (A) 1.4.2 Audio Control (A) 1.4.3 Contrast (Minimum) (AA) 1.4.4 Resize text (AA) 1.4.5 Images of Text (AA) 1.4.6 Contrast (Enhanced) (AAA) 1.4.7 Low or No Background Audio (AAA) 1.4.8 Visual Presentation (AAA) 1.4.9 Images of Text (No Exception) (AAA) 1.4.10 Reflow (AA) 1.4.11 Non-text Contrast (AA) 1.4.12 Text Spacing (AA) 1.4.13 Content on Hover or Focus (AA) 2.1.1 Keyboard (A) 2.1.2 No Keyboard Trap (A) 2.1.3 Keyboard (No Exception) (AAA) 2.1.4 Character Key Shortcuts (A) 2.2.1 Timing Adjustable (A) 2.2.2 Pause, Stop, Hide (A) 2.2.3 No Timing (AAA) 2.2.4 Interruptions (AAA) 2.2.5 Re-authenticating (AAA) 2.2.6 Timeouts (AAA) 2.3.1 Three Flashes or Below Threshold (A) 2.3.2 Three Flashes (AAA) 2.3.3 Animation from Interactions (AAA) 2.4.1 Bypass Blocks (A) 2.4.2 Page Titled (A) 2.4.3 Focus Order (A) 2.4.4 Link Purpose (In Context) (A) 2.4.5 Multiple Ways (AA) 2.4.6 Headings and Labels (AA) 2.4.7 Focus Visible (AA) 2.4.8 Location (AAA) 2.4.9 Link Purpose (Link Only) (AAA) 2.4.10 Section Headings (AAA) 2.5.1 Pointer Gestures (A) 2.5.2 Pointer Cancellation (A) 2.5.3 Label in Name (A) 2.5.4 Motion Actuation (A) 2.5.5 Target Size (AAA) 2.5.6 Concurrent Input Mechanism (AAA) 3.1.1 Language of Page (A) 3.1.2 Language of Parts (AA) 3.1.3 Unusual Words (AAA) 3.1.4 Abbreviations (AAA) 3.1.5 Reading Level (AAA) 3.1.6 Pronunciation (AAA) 3.2.1 On Focus (A) 3.2.2 On Input (A) 3.2.3 Consistent Navigation (AA) 3.2.4 Consistent Identification (AA) 3.2.5 Change on Request (AAA) 3.3.1 Error Identification (A) 3.3.2 Labels or Instructions (A) 3.3.3 Error Suggestion (AA) 3.3.4 Error Prevention (Legal, Financial, Data) (AA) 3.3.5 Help (AAA) 3.3.6 Error Prevention (All) (AAA) 4.1.1 Parsing (A) 4.1.2 Name, Role, Value (A) 4.1.3 Status Messages (AA)
  • 17. –AAA 1.1.1 Non-text Content (A) 1.2.1 Audio-only and Video-only (Prerecorded) (A) 1.2.2 Captions (Prerecorded) (A) 1.2.3 Audio Description or Media Alternative (Prerecorded) (A) 1.2.4 Captions (Live) (AA) 1.2.5 Audio Description (Prerecorded) (AA) 1.3.1 Info and Relationships (A) 1.3.2 Meaningful Sequence (A) 1.3.3 Sensory Characteristics (A) 1.3.4 Orientation (AA) 1.3.5 Identify Input Purpose (AA) 1.4.1 Use of Color (A) 1.4.2 Audio Control (A) 1.4.3 Contrast (Minimum) (AA) 1.4.4 Resize text (AA) 1.4.5 Images of Text (AA) 1.4.10 Reflow (AA) 1.4.11 Non-text Contrast (AA) 1.4.12 Text Spacing (AA) 1.4.13 Content on Hover or Focus (AA) 2.1.1 Keyboard (A) 2.1.2 No Keyboard Trap (A) 2.1.4 Character Key Shortcuts (A) 2.2.1 Timing Adjustable (A) 2.2.2 Pause, Stop, Hide (A) 2.3.1 Three Flashes or Below Threshold (A) 2.4.1 Bypass Blocks (A) 2.4.2 Page Titled (A) 2.4.3 Focus Order (A) 2.4.4 Link Purpose (In Context) (A) 2.4.5 Multiple Ways (AA) 2.4.6 Headings and Labels (AA) 2.4.7 Focus Visible (AA) 2.5.1 Pointer Gestures (A) 2.5.2 Pointer Cancellation (A) 2.5.3 Label in Name (A) 2.5.4 Motion Actuation (A) 3.1.1 Language of Page (A) 3.1.2 Language of Parts (AA) 3.2.1 On Focus (A) 3.2.2 On Input (A) 3.2.3 Consistent Navigation (AA) 3.2.4 Consistent Identification (AA) 3.3.1 Error Identification (A) 3.3.2 Labels or Instructions (A) 3.3.3 Error Suggestion (AA) 3.3.4 Error Prevention (Legal, Financial, Data) (AA) 4.1.1 Parsing (A) 4.1.2 Name, Role, Value (A) 4.1.3 Status Messages (AA)
  • 18. –Same as on Web 1.1.1 Non-text Content (A) 1.3.1 Info and Relationships (A) 1.3.4 Orientation (AA) 1.3.5 Identify Input Purpose (AA) 1.4.2 Audio Control (A) 1.4.4 Resize text (AA) 1.4.10 Reflow (AA) 1.4.12 Text Spacing (AA) 1.4.13 Content on Hover or Focus (AA) 2.1.1 Keyboard (A) 2.1.2 No Keyboard Trap (A) 2.1.4 Character Key Shortcuts (A) 2.2.2 Pause, Stop, Hide (A) 2.4.1 Bypass Blocks (A) 2.4.2 Page Titled (A) 2.4.3 Focus Order (A) 2.4.5 Multiple Ways (AA) 2.4.7 Focus Visible (AA) 2.5.1 Pointer Gestures (A) 2.5.2 Pointer Cancellation (A) 2.5.4 Motion Actuation (A) 3.1.1 Language of Page (A) 3.1.2 Language of Parts (AA) 4.1.1 Parsing (A) 4.1.3 Status Messages (AA)
  • 19. 1.3.4 Orientation (AA) 1.3.5 Identify Input Purpose (AA) 1.4.2 Audio Control (A) 1.4.4 Resize text (AA) 1.4.10 Reflow (AA) 1.4.12 Text Spacing (AA) 1.4.13 Content on Hover or Focus (AA) 2.1.1 Keyboard (A) 2.1.2 No Keyboard Trap (A) 2.1.4 Character Key Shortcuts (A) 2.4.1 Bypass Blocks (A) 2.4.2 Page Titled (A) 2.4.3 Focus Order (A) 2.4.5 Multiple Ways (AA) 2.4.7 Focus Visible (AA) 2.5.1 Pointer Gestures (A) 2.5.2 Pointer Cancellation (A) 2.5.4 Motion Actuation (A) 3.1.1 Language of Page (A) 3.1.2 Language of Parts (AA) 4.1.1 Parsing (A) –TextSpacing
  • 20. 1.3.4 Orientation (AA) 1.3.5 Identify Input Purpose (AA) 1.4.2 Audio Control (A) 1.4.4 Resize text (AA) 1.4.10 Reflow (AA) 1.4.13 Content on Hover or Focus (AA) 2.1.1 Keyboard (A) 2.1.2 No Keyboard Trap (A) 2.1.4 Character Key Shortcuts (A) 2.4.1 Bypass Blocks (A) 2.4.2 Page Titled (A) 2.4.3 Focus Order (A) 2.4.5 Multiple Ways (AA) 2.4.7 Focus Visible (AA) 2.5.1 Pointer Gestures (A) 2.5.2 Pointer Cancellation (A) 2.5.4 Motion Actuation (A) 3.1.1 Language of Page (A) 3.1.2 Language of Parts (AA) 4.1.1 Parsing (A) –Contenton Hover or Focus
  • 21. 1.3.4 Orientation (AA) 1.3.5 Identify Input Purpose (AA) 1.4.2 Audio Control (A) 1.4.4 Resize text (AA) 1.4.10 Reflow (AA) 2.1.1 Keyboard (A) 2.1.2 No Keyboard Trap (A) 2.1.4 Character Key Shortcuts (A) 2.4.1 Bypass Blocks (A) 2.4.2 Page Titled (A) 2.4.3 Focus Order (A) 2.4.5 Multiple Ways (AA) 2.4.7 Focus Visible (AA) 2.5.1 Pointer Gestures (A) 2.5.2 Pointer Cancellation (A) 2.5.4 Motion Actuation (A) 3.1.1 Language of Page (A) 3.1.2 Language of Parts (AA) 4.1.1 Parsing (A) –Bypass Blocks
  • 22. 1.3.4 Orientation (AA) 1.3.5 Identify Input Purpose (AA) 1.4.2 Audio Control (A) 1.4.4 Resize text (AA) 1.4.10 Reflow (AA) 2.1.1 Keyboard (A) 2.1.2 No Keyboard Trap (A) 2.1.4 Character Key Shortcuts (A) 2.4.2 Page Titled (A) 2.4.3 Focus Order (A) 2.4.5 Multiple Ways (AA) 2.4.7 Focus Visible (AA) 2.5.1 Pointer Gestures (A) 2.5.2 Pointer Cancellation (A) 2.5.4 Motion Actuation (A) 3.1.1 Language of Page (A) 3.1.2 Language of Parts (AA) 4.1.1 Parsing (A) –MultipleWays
  • 23. 1.3.4 Orientation (AA) 1.3.5 Identify Input Purpose (AA) 1.4.2 Audio Control (A) 1.4.4 Resize text (AA) 1.4.10 Reflow (AA) 2.1.1 Keyboard (A) 2.1.2 No Keyboard Trap (A) 2.1.4 Character Key Shortcuts (A) 2.4.2 Page Titled (A) 2.4.3 Focus Order (A) 2.4.7 Focus Visible (AA) 2.5.1 Pointer Gestures (A) 2.5.2 Pointer Cancellation (A) 2.5.4 Motion Actuation (A) 3.1.1 Language of Page (A) 3.1.2 Language of Parts (AA) 4.1.1 Parsing (A) –FocusVisible
  • 24. 1.3.4 Orientation (AA) 1.3.5 Identify Input Purpose (AA) 1.4.2 Audio Control (A) 1.4.4 Resize text (AA) 1.4.10 Reflow (AA) 2.1.1 Keyboard (A) 2.1.2 No Keyboard Trap (A) 2.1.4 Character Key Shortcuts (A) 2.4.2 Page Titled (A) 2.4.3 Focus Order (A) 2.5.1 Pointer Gestures (A) 2.5.2 Pointer Cancellation (A) 2.5.4 Motion Actuation (A) 3.1.1 Language of Page (A) 3.1.2 Language of Parts (AA) 4.1.1 Parsing (A) –Language
  • 25. 1.3.4 Orientation (AA) 1.3.5 Identify Input Purpose (AA) 1.4.2 Audio Control (A) 1.4.4 Resize text (AA) 1.4.10 Reflow (AA) 2.1.1 Keyboard (A) 2.1.2 No Keyboard Trap (A) 2.1.4 Character Key Shortcuts (A) 2.4.2 Page Titled (A) 2.4.3 Focus Order (A) 2.5.1 Pointer Gestures (A) 2.5.2 Pointer Cancellation (A) 2.5.4 Motion Actuation (A) 4.1.1 Parsing (A) –Parsing
  • 26. 1.3.4 Orientation (AA) 1.3.5 Identify Input Purpose (AA) 1.4.2 Audio Control (A) 1.4.4 Resize text (AA) 1.4.10 Reflow (AA) 2.1.1 Keyboard (A) 2.1.2 No Keyboard Trap (A) 2.1.4 Character Key Shortcuts (A) 2.4.2 Page Titled (A) 2.4.3 Focus Order (A) 2.5.1 Pointer Gestures (A) 2.5.2 Pointer Cancellation (A) 2.5.4 Motion Actuation (A) What’sleft?
  • 27. What’sleft? 1.3.4 Orientation (AA) 1.3.5 Identify Input Purpose (AA) 1.4.4 Resize text (AA) 1.4.10 Reflow (AA) 2.1.1 Keyboard (A) 2.1.2 No Keyboard Trap (A) 2.1.4 Character Key Shortcuts (A) 2.4.2 Page Titled (A) 2.4.3 Focus Order (A) 2.5.1 Pointer Gestures (A) 2.5.2 Pointer Cancellation (A) 2.5.4 Motion Actuation (A)
  • 28. What’sleft? 1.3.4 Orientation (AA) 1.3.5 Identify Input Purpose (AA) 1.4.4 Resize text (AA) 1.4.10 Reflow (AA) 2.1.1 Keyboard (A) 2.1.2 No Keyboard Trap (A) 2.1.4 Character Key Shortcuts (A) 2.4.2 Page Titled (A) 2.4.3 Focus Order (A) 2.5.1 Pointer Gestures (A) 2.5.2 Pointer Cancellation (A) 2.5.4 Motion Actuation (A)
  • 31. 2. Automatedscan Accessibility Scanner Accessibility Inspector
  • 32. AccessibilityScanner • Item labels • Touch target sizes • Resizable text • Colour contrast
  • 33. AccessibilityInspector • Accessibility labels • Missing accessibility information • Touch target sizes • Resizable text • Colour contrast
  • 35. 44 dp (density-independent pixels) 44 pt (points) 44 CSS pixels ≍ TargetSize • Level AAA, so a best practice • 7mm x 7mm minimum • WCAG 2.1 says…
  • 36. Otherautomatedtools • Google’s Toolbox for Accessibility for iOS (GTXiLib) • Google's Accessibility Scanner for iOS (GSCXScanner) • Deque’s axe™ DevTools (formerly WorldSpace Attest)
  • 39. Mobilescreenreaders Explore by touch • Place finger on screen and move • Items under your finger are described by screen reader • Tap with a second finger or double tap to open/activate
  • 40. Mobilescreenreaders Gesture navigation • Swipe right/left moves focus to next/previous content in sequence • Items are described by screen reader as focus moves • Double tap to activate
  • 41. Page Titled Activity title Summary Element
  • 42. 4. Keyboard alone + with TalkBack alone + with VoiceOver
  • 43. 5. Voice/ Switch Voice Access / Switch Access Voice Control / Switch Control
  • 44.
  • 45.
  • 46. 6. Resizetext Font size Larger text
  • 47. Font size Larger text “Largest” ≅ 132%
  • 48. Font size Larger text Slide to stop 10 ≅ 235%
  • 49.
  • 50.
  • 51.
  • 52. 7. Colourcontrast Scanner / screenshots Inspector / screenshots
  • 53. Nativemobileaccessibility 1. Mobile accessibility is different to the Web 2. Compliance is fragile 3. Testing has some subtle issues to look out for
  • 54. Copyright 2021 Jon Gibbins All rights reserved. Accessibility.Co a trading name of As It Should Be Ltd Photo credits: Unsplash