SlideShare a Scribd company logo
1 of 55
Download to read offline
Focus on
Accessibility
Mobile Web + DevCon 2013
Ted Drake,
Intuit Accessibility
This presentation:
slideshare.net/7mary4/
Wednesday, July 17, 13
This presentation was prepared for the Mobile Web + Dev Conference 2013 in San Jose. It
focuses on the importance of controlling focus on mobile devices for accessibility
Wednesday, July 17, 13
Tommy Edison, the Blind Film Critic, shows how he uses Instagram on an iphone 4s
https://www.youtube.com/watch?v=P1e7ZCKQfMA
Wednesday, July 17, 13
Tommy Edison, the Blind Film Critic, shows how he uses Instagram on an iphone 4s
https://www.youtube.com/watch?v=P1e7ZCKQfMA
3 Factors
Wednesday, July 17, 13
http://webaim.org/standards/wcag/checklist
Here are three factors that make an application or web site accessible.
Perceivable
Wednesday, July 17, 13
All content that is presented visually must also be discoverable via a screen reader or other
assistive technology.
Wednesday, July 17, 13
This video shows Victor Tsaran trying to use an app that features a set of buttons that are not
focusable. He’s frustrated by the inability to begin the process.
Wednesday, July 17, 13
This video shows Victor Tsaran trying to use an app that features a set of buttons that are not
focusable. He’s frustrated by the inability to begin the process.
Operable
Wednesday, July 17, 13
All user interactions must be clearly labeled and react to user’s gestures.
Where’s the
power button
in this
flashlight
app?
Wednesday, July 17, 13
This video shows how the Flashlight app has not included labels on the buttons. This makes
the user randomly click on elements.
When an image is used as a button and does not include an accessibilityLabel, VoiceOver will
announce the image’s source, i.e. background dimmed
Where’s the
power button
in this
flashlight
app?
Wednesday, July 17, 13
This video shows how the Flashlight app has not included labels on the buttons. This makes
the user randomly click on elements.
When an image is used as a button and does not include an accessibilityLabel, VoiceOver will
announce the image’s source, i.e. background dimmed
Understandable
Wednesday, July 17, 13
Content should be readable. Don’t hide important content within background images or treat
complex information as a simple string.
Flipboard FTW!
•Labels
•Distinct elements
•Focus on new
content
Wednesday, July 17, 13
This video shows how the Flipboard app is easy to understand. The content and user
interfaces are clearly labeled.
Flipboard FTW!
•Labels
•Distinct elements
•Focus on new
content
Wednesday, July 17, 13
This video shows how the Flipboard app is easy to understand. The content and user
interfaces are clearly labeled.
Screen
Reader
Wednesday, July 17, 13
Screen reader software, such as VoiceOver, TalkBack, or Narrator provide an interface
between the user and the application.
The SR interprets the user’s gestures and the application’s output.
Gestures are unique to screen reader usage, this can be surprising for custom gestures that
detect onTouch events.
Go Native
Wednesday, July 17, 13
native components already include appropriate focus behaviors. Use these and your
application will inherit the accessibility.
You will need to control focus whenever using custom elements.
The iOS and Android platforms include focus control by default.
In HTML, links and form elements natively receive focus.
Wednesday, July 17, 13
The key elements for iOS accessibility are:
•setting isAccessibilityElement
•defining modal views
•Grouping children
•Announcing screen changes
isAccessibilityElement
Should an element receive focus?
Wednesday, July 17, 13
this can be chosen via interface builder or programatically
Make sure this is set to yes for actionable items.
Set it to false on parent containers when their children are actionable, i.e. UITableViewCell
http://developer.yahoo.com/blogs/ydn/defining-isaccessibilityelement-ios-
application-53755.html
photoSet.isAccessibilityElement =YES;
Wednesday, July 17, 13
Typically you will not set isAccessibilityElement to true on a UITableView. But if you want this
to act as a single actionable item, set this to true.
photoSet.isAccessibilityElement = NO;
photoSetRow.isAccessibilityElement =Yes;
Wednesday, July 17, 13
this is the default behavior in iOS and you shouldn’t need to set these values.
photoSet.isAccessibilityElement = NO;
photoSetRow.isAccessibilityElement = NO;
photoSetImage.isAccessibilityElement =YES;
Wednesday, July 17, 13
If your UITableViewCell has actionable items, set the cell to NO and place YES on the
individual images.
This is also commonly seen when a Webview is given focus instead of the website within it.
Wednesday, July 17, 13
This video shows a custom container that includes a date picker and button. The container
has accessibility so the picker and button are not available to the user.
Wednesday, July 17, 13
This video shows a custom container that includes a date picker and button. The container
has accessibility so the picker and button are not available to the user.
Modality
accessibilityViewIsModal
Wednesday, July 17, 13
accessibilityViewIsModal https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIAccessibility_Protocol/Introduction/Introduction.html
The default value for this property is NO. When the value of this property is YES, VoiceOver ignores the elements within the sibling views of the receiving view.
For example, in a window that contains sibling views A and B, setting accessibilityViewIsModal to YES on view B causes VoiceOver to ignore the elements in the view A. On the other hand, if
view B contains a child view C and you set accessibilityViewIsModal to YES on view C, VoiceOver does not ignore the elements in view A.
Modality
accessibilityViewIsModal
Wednesday, July 17, 13
accessibilityViewIsModal https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIAccessibility_Protocol/Introduction/Introduction.html
The default value for this property is NO. When the value of this property is YES, VoiceOver ignores the elements within the sibling views of the receiving view.
For example, in a window that contains sibling views A and B, setting accessibilityViewIsModal to YES on view B causes VoiceOver to ignore the elements in the view A. On the other hand, if
view B contains a child view C and you set accessibilityViewIsModal to YES on view C, VoiceOver does not ignore the elements in view A.
Wednesday, July 17, 13
This short video shows how a modal window (the right panel) is not blocking elements that sit
on a different layer. The user is confused by these extraneous buttons.
Wednesday, July 17, 13
This short video shows how a modal window (the right panel) is not blocking elements that sit
on a different layer. The user is confused by these extraneous buttons.
shouldGroupAccessibilityChildren
Wednesday, July 17, 13
VoiceOver will typically read elements in a left to right order.
Use shouldGroupAccessibilityChildren to define a group of objects that are read in a vertical
or other order.
http://developer.apple.com/library/ios/#documentation/uikit/reference/
UIAccessibility_Protocol/Introduction/Introduction.html
Statistics are
announced as a
string and then
the labels.
These should be
read as pairs.
Wednesday, July 17, 13
This video shows how the content is not understandable due to the lack of grouping.
Statistics are
announced as a
string and then
the labels.
These should be
read as pairs.
Wednesday, July 17, 13
This video shows how the content is not understandable due to the lack of grouping.
UIAccessibilityPostNotification
Wednesday, July 17, 13
We need to let the user know when the screen is changing. Use UIAccessibilityPostNotification
to announce the change.
You can also move focus to the changed area, this is helpful for modals or dropdowns.
https://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/
Accessibility/AccessibilityfromtheViewControllersPerspective.html#//apple_ref/doc/uid/
TP40007457-CH2-SW2
UIAccessibilityPostNotification
Wednesday, July 17, 13
We need to let the user know when the screen is changing. Use UIAccessibilityPostNotification
to announce the change.
You can also move focus to the changed area, this is helpful for modals or dropdowns.
https://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/
Accessibility/AccessibilityfromtheViewControllersPerspective.html#//apple_ref/doc/uid/
TP40007457-CH2-SW2
accessibilityLabel
flashlightSwitch.accessibilityLabel = @”Turn on the light”;
Wednesday, July 17, 13
Going back to the flashlight example, this is how the main button would receive a label.
onTouchStart
Wednesday, July 17, 13
custom gestures in JavaScript do not work with VoiceOver, as the single finger swipe is used
as a key element in VoiceOver navigation.
iOS7 introduces a single finger swipe to allow users to access the back button functionality.
Depending on where the user begins their swipe, custom JavaScript carousels and other swipe
based gestures may not work.
ALWAYS include an alternate method for your swipe gestures, such as back and forward
buttons
photo: a morality play in one act by Cassidy Curtis
Android
Wednesday, July 17, 13
Android key elements:
•android:focusable
•exploreByTouchHelper class
•onFocusChange
•Grouping
•Android Lint
android:focusable
• setFocusable()
• isFocusable()
• requestFocus()
Wednesday, July 17, 13
Android allows you to define the elements that are focusable and actionable with
android:focusable =”true”
When android cannot find an element that is focusable, it will treat the parent as a single text
string.
http://developer.android.com/guide/topics/ui/accessibility/apps.html
Focus can also be programmed.
Wednesday, July 17, 13
This short video shows how an Android application should work. The user should be able to
touch explore the statement and read each element uniquely.
Wednesday, July 17, 13
This short video shows how an Android application should work. The user should be able to
touch explore the statement and read each element uniquely.
Wednesday, July 17, 13
In this video, the application has not set android:focusable on the bank statement. The entire
set of transactions are announced as a single string.
Wednesday, July 17, 13
In this video, the application has not set android:focusable on the bank statement. The entire
set of transactions are announced as a single string.
accessibilityNodeInfo
• Define a custom element
• Position
• Description
• Interaction
• Children
• Verbose code
Wednesday, July 17, 13
http://developer.android.com/reference/android/view/accessibility/
AccessibilityNodeInfo.html
AccessibilityNodeInfo allows developers to define how a customer view will be identified and
its interactions.
It’s a complex set of code and can be verbose.
exploreByTouchHelper
• Introduced at GoogleIO 2013
• Only 5 abstract methods
• Wraps AccessibilityNodeProviderCompat
• Very little documentation at this point
Wednesday, July 17, 13
exploreByTouchHelper was introduced at GoogleIO 2013. This helper class makes custom
elements much easier to build
http://youtu.be/ld7kZRpMGb8?t=19m44s
announceForAccessibilityCompat
public void setCanvasColor(int color) {
mCanvasColor = color;
updateSummaryText();
invalidate();
// Provide feedback to users of accessibility
// services that screen content has changed.
announceForAccessibilityCompat(mContext.getString(
R.string.announcement_canvas_color_changed,
getNameForColor(color)));
}
Wednesday, July 17, 13
Announce screen changes with announceForAccessibilityCompat
send a text string with new information, such as the color or subtotal
Classes with ...Compat include backwards compatibility
Wednesday, July 17, 13
Android provides a fast tool for finding errors in the code. This is especially useful for finding
objects that need a content:description.
https://www.youtube.com/watch?v=OtwCe-YlD5k
Wednesday, July 17, 13
Android provides a fast tool for finding errors in the code. This is especially useful for finding
objects that need a content:description.
https://www.youtube.com/watch?v=OtwCe-YlD5k
HTML5
Win8
FirefoxOS
Wednesday, July 17, 13
Native Components
Links and Form Elements
Wednesday, July 17, 13
Links and form elements automatically receive focus and pass events and states.
divs, spans, images, lists, and other tags do not receive focus and events are not automatic.
Wednesday, July 17, 13
This video shows how an iPhone reacts to different form types. This web page uses no
javascript and only very simple CSS.
Currently, the only form input type that is not given a special interface is the color picker.
iOS6 on iPhone 4S
web page can be viewed at http://fyvr.net/a11y/html5-form-types.html
tabindex=”0 or -1”
Wednesday, July 17, 13
tabindex=”0” allows an item, that normally does not receive focus, get keyboard focus. Use
this when retro-fitting div-based buttons. Although it’s still better to use a button.
tabindex=”-1” removes an item from the keyboard flow. However, the item can still receive
focus via javascript.
support for div based buttons without tabindex is available on mobile devices, but shouldn’t
be counted on.
.focus()
Wednesday, July 17, 13
.focus()
Kitten Time
Sleep in the sink fluffy
fur run attack your
ankles, faucibus sleep
in the sink enim in
viverra tail flick climb
the curtains.
Wednesday, July 17, 13
.focus()
Kitten Time
Sleep in the sink fluffy
fur run attack your
ankles, faucibus sleep
in the sink enim in
viverra tail flick climb
the curtains.
<h3 tabindex=”-1”>Kitten Time</h3>
Wednesday, July 17, 13
Live Regions
<div aria-live=”polite”>
Subtotal: $12.50
</div>
Wednesday, July 17, 13
Content that changes within a live region will be announced by the screen reader.
Polite waits until the user has finished typing.
Assertive will announce the change as soon as possible.
http://tink.co.uk/2012/11/accessible-forms-with-aria-live-regions/
Loading...
Wednesday, July 17, 13
this video shows how hybrid apps can be confusing. Victor Tsaran is trying to use a
phonegap based app that has a silent loading notification. He doesn’t know that it is loading
and continues to explore the screen, causing an unexpected screen to load.
Add role=”button” to links so they are announced as “button” instead of “link”
Add aria-live=”assertive” to the loading image and make sure it has alt=”loading”
Loading...
Wednesday, July 17, 13
this video shows how hybrid apps can be confusing. Victor Tsaran is trying to use a
phonegap based app that has a silent loading notification. He doesn’t know that it is loading
and continues to explore the screen, causing an unexpected screen to load.
Add role=”button” to links so they are announced as “button” instead of “link”
Add aria-live=”assertive” to the loading image and make sure it has alt=”loading”
Ted Drake
w: last-child.com
t: @ted_drake
s: slideshare.net/7mary4
y: youtube.com/7mary4responding
p: pinterest.com/teddrake
j: intuit.com - Intuit’s hiring: Web, iOS, Android
Thank you to Rebecca Greenberg and Victor
Tsaran for video collaborations
Wednesday, July 17, 13

More Related Content

What's hot

UPA Boston 2012: My iPhone or Yours? Usability testing on mobile devices
UPA Boston 2012: My iPhone or Yours? Usability testing on mobile devicesUPA Boston 2012: My iPhone or Yours? Usability testing on mobile devices
UPA Boston 2012: My iPhone or Yours? Usability testing on mobile devicesLis Pardi
 
Preparing for Release to the App Store
Preparing for Release to the App StorePreparing for Release to the App Store
Preparing for Release to the App StoreGeoffrey Goetz
 
20 ways the_i_pad_can_be_a_powerful97
20 ways the_i_pad_can_be_a_powerful9720 ways the_i_pad_can_be_a_powerful97
20 ways the_i_pad_can_be_a_powerful97GMPDC
 
20 ways the i pad can be a powerful
20 ways the i pad can be a powerful20 ways the i pad can be a powerful
20 ways the i pad can be a powerfulGMPDC
 
Get With The Programme
Get With The ProgrammeGet With The Programme
Get With The ProgrammePaul Saunders
 
Accessibillity Challenges and Innovations for Open Hack EU 2011
Accessibillity Challenges and Innovations for Open Hack EU 2011Accessibillity Challenges and Innovations for Open Hack EU 2011
Accessibillity Challenges and Innovations for Open Hack EU 2011Ted Drake
 
How Can Artificial Intelligence Make Business More Human?
How Can Artificial Intelligence Make Business More Human?How Can Artificial Intelligence Make Business More Human?
How Can Artificial Intelligence Make Business More Human?Christopher Mohritz
 
Coding on the Shoulders of Giants
Coding on the Shoulders of GiantsCoding on the Shoulders of Giants
Coding on the Shoulders of GiantsMatt Biddulph
 
You're still doing it all wrong
You're still doing it all wrongYou're still doing it all wrong
You're still doing it all wrongPaul Saunders
 
Students as Producers
Students as ProducersStudents as Producers
Students as ProducersKatie Morrow
 

What's hot (10)

UPA Boston 2012: My iPhone or Yours? Usability testing on mobile devices
UPA Boston 2012: My iPhone or Yours? Usability testing on mobile devicesUPA Boston 2012: My iPhone or Yours? Usability testing on mobile devices
UPA Boston 2012: My iPhone or Yours? Usability testing on mobile devices
 
Preparing for Release to the App Store
Preparing for Release to the App StorePreparing for Release to the App Store
Preparing for Release to the App Store
 
20 ways the_i_pad_can_be_a_powerful97
20 ways the_i_pad_can_be_a_powerful9720 ways the_i_pad_can_be_a_powerful97
20 ways the_i_pad_can_be_a_powerful97
 
20 ways the i pad can be a powerful
20 ways the i pad can be a powerful20 ways the i pad can be a powerful
20 ways the i pad can be a powerful
 
Get With The Programme
Get With The ProgrammeGet With The Programme
Get With The Programme
 
Accessibillity Challenges and Innovations for Open Hack EU 2011
Accessibillity Challenges and Innovations for Open Hack EU 2011Accessibillity Challenges and Innovations for Open Hack EU 2011
Accessibillity Challenges and Innovations for Open Hack EU 2011
 
How Can Artificial Intelligence Make Business More Human?
How Can Artificial Intelligence Make Business More Human?How Can Artificial Intelligence Make Business More Human?
How Can Artificial Intelligence Make Business More Human?
 
Coding on the Shoulders of Giants
Coding on the Shoulders of GiantsCoding on the Shoulders of Giants
Coding on the Shoulders of Giants
 
You're still doing it all wrong
You're still doing it all wrongYou're still doing it all wrong
You're still doing it all wrong
 
Students as Producers
Students as ProducersStudents as Producers
Students as Producers
 

Viewers also liked

CSUN 2017 - ACT Now: Accessibility Conformance Testing for WCAG
CSUN 2017 - ACT Now: Accessibility Conformance Testing for WCAGCSUN 2017 - ACT Now: Accessibility Conformance Testing for WCAG
CSUN 2017 - ACT Now: Accessibility Conformance Testing for WCAGMary Jo Mueller
 
Developing accessible android applications
Developing accessible android applicationsDeveloping accessible android applications
Developing accessible android applicationsRenato Iwashima
 
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and SuccessesAutomated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and SuccessesTed Drake
 
Introduction to ARIA
Introduction to ARIAIntroduction to ARIA
Introduction to ARIAVinod Tiwari
 
Android accessibility for developers and QA
Android accessibility for developers and QAAndroid accessibility for developers and QA
Android accessibility for developers and QATed Drake
 
The Future of Video Player Accessibility
The Future of Video Player AccessibilityThe Future of Video Player Accessibility
The Future of Video Player Accessibility3Play Media
 
Usability Testing for People w/ Disabilities
Usability Testing for People w/ DisabilitiesUsability Testing for People w/ Disabilities
Usability Testing for People w/ DisabilitiesInteractive Accessibility
 
Ubiquitous Transactions - Financial Future and Accessibility
Ubiquitous Transactions - Financial Future and AccessibilityUbiquitous Transactions - Financial Future and Accessibility
Ubiquitous Transactions - Financial Future and AccessibilityTed Drake
 
Accessibility metrics Accessibility Data Metrics and Reporting – Industry Bes...
Accessibility metrics Accessibility Data Metrics and Reporting – Industry Bes...Accessibility metrics Accessibility Data Metrics and Reporting – Industry Bes...
Accessibility metrics Accessibility Data Metrics and Reporting – Industry Bes...Ted Drake
 
So you want to be a wizard
So you want to be a wizardSo you want to be a wizard
So you want to be a wizardJulia Evans
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 

Viewers also liked (16)

WCAG 2.1 Mobile Accessibility
WCAG 2.1 Mobile AccessibilityWCAG 2.1 Mobile Accessibility
WCAG 2.1 Mobile Accessibility
 
Mobile Accessibility on the Move
Mobile Accessibility on the MoveMobile Accessibility on the Move
Mobile Accessibility on the Move
 
CSUN 2017 - ACT Now: Accessibility Conformance Testing for WCAG
CSUN 2017 - ACT Now: Accessibility Conformance Testing for WCAGCSUN 2017 - ACT Now: Accessibility Conformance Testing for WCAG
CSUN 2017 - ACT Now: Accessibility Conformance Testing for WCAG
 
Developing accessible android applications
Developing accessible android applicationsDeveloping accessible android applications
Developing accessible android applications
 
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and SuccessesAutomated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
 
Introduction to ARIA
Introduction to ARIAIntroduction to ARIA
Introduction to ARIA
 
ATIA Workshop - iOS Accessibility
ATIA Workshop - iOS AccessibilityATIA Workshop - iOS Accessibility
ATIA Workshop - iOS Accessibility
 
Android accessibility for developers and QA
Android accessibility for developers and QAAndroid accessibility for developers and QA
Android accessibility for developers and QA
 
The Future of Video Player Accessibility
The Future of Video Player AccessibilityThe Future of Video Player Accessibility
The Future of Video Player Accessibility
 
Usability Testing for People w/ Disabilities
Usability Testing for People w/ DisabilitiesUsability Testing for People w/ Disabilities
Usability Testing for People w/ Disabilities
 
Ubiquitous Transactions - Financial Future and Accessibility
Ubiquitous Transactions - Financial Future and AccessibilityUbiquitous Transactions - Financial Future and Accessibility
Ubiquitous Transactions - Financial Future and Accessibility
 
CSUN2017
CSUN2017CSUN2017
CSUN2017
 
Accessible Responsive Web Design
Accessible Responsive Web DesignAccessible Responsive Web Design
Accessible Responsive Web Design
 
Accessibility metrics Accessibility Data Metrics and Reporting – Industry Bes...
Accessibility metrics Accessibility Data Metrics and Reporting – Industry Bes...Accessibility metrics Accessibility Data Metrics and Reporting – Industry Bes...
Accessibility metrics Accessibility Data Metrics and Reporting – Industry Bes...
 
So you want to be a wizard
So you want to be a wizardSo you want to be a wizard
So you want to be a wizard
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar to Focus Management and Accessibility on iOS, Android, and HTML5

Mobile Accessibility - Accessibility Camp Toronto
Mobile Accessibility - Accessibility Camp TorontoMobile Accessibility - Accessibility Camp Toronto
Mobile Accessibility - Accessibility Camp TorontoTed Drake
 
iOS 7 Accessibility
iOS 7 AccessibilityiOS 7 Accessibility
iOS 7 AccessibilityTed Drake
 
Create Accessible Infographics
Create Accessible Infographics Create Accessible Infographics
Create Accessible Infographics Ted Drake
 
Design Patterns for Mobile Applications
Design Patterns for Mobile ApplicationsDesign Patterns for Mobile Applications
Design Patterns for Mobile ApplicationsC4Media
 
Wireframes app i_phone_ios7_example
Wireframes app i_phone_ios7_exampleWireframes app i_phone_ios7_example
Wireframes app i_phone_ios7_exampleAndrew Scott
 
Hall Davidson: DEN ISTE PreCon 2011 "It's in Their Pockets: Teaching Them Spe...
Hall Davidson: DEN ISTE PreCon 2011 "It's in Their Pockets: Teaching Them Spe...Hall Davidson: DEN ISTE PreCon 2011 "It's in Their Pockets: Teaching Them Spe...
Hall Davidson: DEN ISTE PreCon 2011 "It's in Their Pockets: Teaching Them Spe...changingconnections
 
Mobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B ExperimentsMobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B Experimentslacyrhoades
 
Is accessibility the new black?
Is accessibility the new black?Is accessibility the new black?
Is accessibility the new black?George Otoiu
 
Q6: what have you learnt about the technologies from the process of construct...
Q6: what have you learnt about the technologies from the process of construct...Q6: what have you learnt about the technologies from the process of construct...
Q6: what have you learnt about the technologies from the process of construct...millanasmedia
 
Georgia Tech hacking Accessibility
Georgia Tech hacking AccessibilityGeorgia Tech hacking Accessibility
Georgia Tech hacking AccessibilityChristian Heilmann
 
iOS Backgrounding - SLC Cocoaheads
iOS Backgrounding - SLC CocoaheadsiOS Backgrounding - SLC Cocoaheads
iOS Backgrounding - SLC CocoaheadsDave Stevenson
 
UA Europe 2013: Content Delivered? Check! OK how do we use it?
UA Europe 2013: Content Delivered? Check! OK how do we use it?UA Europe 2013: Content Delivered? Check! OK how do we use it?
UA Europe 2013: Content Delivered? Check! OK how do we use it?Colum McAndrew
 
[iOS] AirPlay 與雙螢幕支援
[iOS] AirPlay 與雙螢幕支援[iOS] AirPlay 與雙螢幕支援
[iOS] AirPlay 與雙螢幕支援Johnny Sung
 
Somo iOS 9 workshop
Somo iOS 9 workshopSomo iOS 9 workshop
Somo iOS 9 workshopSomo
 
Hitting the accessibility high notes with ARIA
Hitting the accessibility high notes with ARIAHitting the accessibility high notes with ARIA
Hitting the accessibility high notes with ARIATed Drake
 
The Contextual Experience of the Mobile Web
The Contextual Experience of the Mobile WebThe Contextual Experience of the Mobile Web
The Contextual Experience of the Mobile WebJeff Carouth
 
Introduction to mobile accessibility - AccessU 2013
Introduction to mobile accessibility - AccessU 2013Introduction to mobile accessibility - AccessU 2013
Introduction to mobile accessibility - AccessU 2013Henny Swan
 
Uncovering Secrets of Progressive Web Apps
Uncovering Secrets of Progressive Web AppsUncovering Secrets of Progressive Web Apps
Uncovering Secrets of Progressive Web AppsMaximiliano Firtman
 

Similar to Focus Management and Accessibility on iOS, Android, and HTML5 (20)

Mobile Accessibility - Accessibility Camp Toronto
Mobile Accessibility - Accessibility Camp TorontoMobile Accessibility - Accessibility Camp Toronto
Mobile Accessibility - Accessibility Camp Toronto
 
iOS 7 Accessibility
iOS 7 AccessibilityiOS 7 Accessibility
iOS 7 Accessibility
 
Create Accessible Infographics
Create Accessible Infographics Create Accessible Infographics
Create Accessible Infographics
 
Design Patterns for Mobile Applications
Design Patterns for Mobile ApplicationsDesign Patterns for Mobile Applications
Design Patterns for Mobile Applications
 
Wireframes app i_phone_ios7_example
Wireframes app i_phone_ios7_exampleWireframes app i_phone_ios7_example
Wireframes app i_phone_ios7_example
 
Hall Davidson: DEN ISTE PreCon 2011 "It's in Their Pockets: Teaching Them Spe...
Hall Davidson: DEN ISTE PreCon 2011 "It's in Their Pockets: Teaching Them Spe...Hall Davidson: DEN ISTE PreCon 2011 "It's in Their Pockets: Teaching Them Spe...
Hall Davidson: DEN ISTE PreCon 2011 "It's in Their Pockets: Teaching Them Spe...
 
Mobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B ExperimentsMobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B Experiments
 
Is accessibility the new black?
Is accessibility the new black?Is accessibility the new black?
Is accessibility the new black?
 
I phone versus windows phone 7 coding
I phone versus windows phone 7 codingI phone versus windows phone 7 coding
I phone versus windows phone 7 coding
 
Q6: what have you learnt about the technologies from the process of construct...
Q6: what have you learnt about the technologies from the process of construct...Q6: what have you learnt about the technologies from the process of construct...
Q6: what have you learnt about the technologies from the process of construct...
 
Georgia Tech hacking Accessibility
Georgia Tech hacking AccessibilityGeorgia Tech hacking Accessibility
Georgia Tech hacking Accessibility
 
iOS Backgrounding - SLC Cocoaheads
iOS Backgrounding - SLC CocoaheadsiOS Backgrounding - SLC Cocoaheads
iOS Backgrounding - SLC Cocoaheads
 
UA Europe 2013: Content Delivered? Check! OK how do we use it?
UA Europe 2013: Content Delivered? Check! OK how do we use it?UA Europe 2013: Content Delivered? Check! OK how do we use it?
UA Europe 2013: Content Delivered? Check! OK how do we use it?
 
M learning 002
M learning 002M learning 002
M learning 002
 
[iOS] AirPlay 與雙螢幕支援
[iOS] AirPlay 與雙螢幕支援[iOS] AirPlay 與雙螢幕支援
[iOS] AirPlay 與雙螢幕支援
 
Somo iOS 9 workshop
Somo iOS 9 workshopSomo iOS 9 workshop
Somo iOS 9 workshop
 
Hitting the accessibility high notes with ARIA
Hitting the accessibility high notes with ARIAHitting the accessibility high notes with ARIA
Hitting the accessibility high notes with ARIA
 
The Contextual Experience of the Mobile Web
The Contextual Experience of the Mobile WebThe Contextual Experience of the Mobile Web
The Contextual Experience of the Mobile Web
 
Introduction to mobile accessibility - AccessU 2013
Introduction to mobile accessibility - AccessU 2013Introduction to mobile accessibility - AccessU 2013
Introduction to mobile accessibility - AccessU 2013
 
Uncovering Secrets of Progressive Web Apps
Uncovering Secrets of Progressive Web AppsUncovering Secrets of Progressive Web Apps
Uncovering Secrets of Progressive Web Apps
 

More from Ted Drake

Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024Ted Drake
 
Transforming Accessibility one lunch at a tiime - CSUN 2023
Transforming Accessibility one lunch at a tiime - CSUN 2023Transforming Accessibility one lunch at a tiime - CSUN 2023
Transforming Accessibility one lunch at a tiime - CSUN 2023Ted Drake
 
Inclusive Design for cognitive disabilities, neurodiversity, and chronic illness
Inclusive Design for cognitive disabilities, neurodiversity, and chronic illnessInclusive Design for cognitive disabilities, neurodiversity, and chronic illness
Inclusive Design for cognitive disabilities, neurodiversity, and chronic illnessTed Drake
 
Inclusive design for Long Covid
 Inclusive design for Long Covid  Inclusive design for Long Covid
Inclusive design for Long Covid Ted Drake
 
Covid 19, brain fog, and inclusive design
Covid 19, brain fog, and inclusive designCovid 19, brain fog, and inclusive design
Covid 19, brain fog, and inclusive designTed Drake
 
Customer obsession and accessibility
Customer obsession and accessibilityCustomer obsession and accessibility
Customer obsession and accessibilityTed Drake
 
The Saga of Accessible Colors
The Saga of Accessible ColorsThe Saga of Accessible Colors
The Saga of Accessible ColorsTed Drake
 
Artificial Intelligence and Accessibility - GAAD 2020 - Hello A11y
Artificial Intelligence and Accessibility - GAAD 2020 - Hello A11yArtificial Intelligence and Accessibility - GAAD 2020 - Hello A11y
Artificial Intelligence and Accessibility - GAAD 2020 - Hello A11yTed Drake
 
Expand your outreach with an accessibility champions program
Expand your outreach with an accessibility champions program Expand your outreach with an accessibility champions program
Expand your outreach with an accessibility champions program Ted Drake
 
Intuit's Accessibility Champion Program - Coaching and Celebrating
Intuit's Accessibility Champion Program - Coaching and Celebrating Intuit's Accessibility Champion Program - Coaching and Celebrating
Intuit's Accessibility Champion Program - Coaching and Celebrating Ted Drake
 
Accessibility First Innovation
Accessibility First InnovationAccessibility First Innovation
Accessibility First InnovationTed Drake
 
Inclusive customer interviews make it your friday task
Inclusive customer interviews  make it your friday taskInclusive customer interviews  make it your friday task
Inclusive customer interviews make it your friday taskTed Drake
 
Coaching and Celebrating Accessibility Champions
Coaching and Celebrating Accessibility ChampionsCoaching and Celebrating Accessibility Champions
Coaching and Celebrating Accessibility ChampionsTed Drake
 
Accessibility statements and resource publishing best practices csun 2019
Accessibility statements and resource publishing best practices   csun 2019Accessibility statements and resource publishing best practices   csun 2019
Accessibility statements and resource publishing best practices csun 2019Ted Drake
 
Raising Accessibility Awareness at Intuit
Raising Accessibility Awareness at IntuitRaising Accessibility Awareness at Intuit
Raising Accessibility Awareness at IntuitTed Drake
 
Trickle Down Accessibility
Trickle Down AccessibilityTrickle Down Accessibility
Trickle Down AccessibilityTed Drake
 
Trickle-Down Accessibility - CSUN 2018
Trickle-Down Accessibility - CSUN 2018Trickle-Down Accessibility - CSUN 2018
Trickle-Down Accessibility - CSUN 2018Ted Drake
 
Mystery Meat 2.0 – Making hidden mobile interactions accessible
Mystery Meat 2.0 – Making hidden mobile interactions accessibleMystery Meat 2.0 – Making hidden mobile interactions accessible
Mystery Meat 2.0 – Making hidden mobile interactions accessibleTed Drake
 
Wearable Future for Accessibility
Wearable Future for AccessibilityWearable Future for Accessibility
Wearable Future for AccessibilityTed Drake
 
Android Accessibility - The missing manual
Android Accessibility - The missing manualAndroid Accessibility - The missing manual
Android Accessibility - The missing manualTed Drake
 

More from Ted Drake (20)

Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
 
Transforming Accessibility one lunch at a tiime - CSUN 2023
Transforming Accessibility one lunch at a tiime - CSUN 2023Transforming Accessibility one lunch at a tiime - CSUN 2023
Transforming Accessibility one lunch at a tiime - CSUN 2023
 
Inclusive Design for cognitive disabilities, neurodiversity, and chronic illness
Inclusive Design for cognitive disabilities, neurodiversity, and chronic illnessInclusive Design for cognitive disabilities, neurodiversity, and chronic illness
Inclusive Design for cognitive disabilities, neurodiversity, and chronic illness
 
Inclusive design for Long Covid
 Inclusive design for Long Covid  Inclusive design for Long Covid
Inclusive design for Long Covid
 
Covid 19, brain fog, and inclusive design
Covid 19, brain fog, and inclusive designCovid 19, brain fog, and inclusive design
Covid 19, brain fog, and inclusive design
 
Customer obsession and accessibility
Customer obsession and accessibilityCustomer obsession and accessibility
Customer obsession and accessibility
 
The Saga of Accessible Colors
The Saga of Accessible ColorsThe Saga of Accessible Colors
The Saga of Accessible Colors
 
Artificial Intelligence and Accessibility - GAAD 2020 - Hello A11y
Artificial Intelligence and Accessibility - GAAD 2020 - Hello A11yArtificial Intelligence and Accessibility - GAAD 2020 - Hello A11y
Artificial Intelligence and Accessibility - GAAD 2020 - Hello A11y
 
Expand your outreach with an accessibility champions program
Expand your outreach with an accessibility champions program Expand your outreach with an accessibility champions program
Expand your outreach with an accessibility champions program
 
Intuit's Accessibility Champion Program - Coaching and Celebrating
Intuit's Accessibility Champion Program - Coaching and Celebrating Intuit's Accessibility Champion Program - Coaching and Celebrating
Intuit's Accessibility Champion Program - Coaching and Celebrating
 
Accessibility First Innovation
Accessibility First InnovationAccessibility First Innovation
Accessibility First Innovation
 
Inclusive customer interviews make it your friday task
Inclusive customer interviews  make it your friday taskInclusive customer interviews  make it your friday task
Inclusive customer interviews make it your friday task
 
Coaching and Celebrating Accessibility Champions
Coaching and Celebrating Accessibility ChampionsCoaching and Celebrating Accessibility Champions
Coaching and Celebrating Accessibility Champions
 
Accessibility statements and resource publishing best practices csun 2019
Accessibility statements and resource publishing best practices   csun 2019Accessibility statements and resource publishing best practices   csun 2019
Accessibility statements and resource publishing best practices csun 2019
 
Raising Accessibility Awareness at Intuit
Raising Accessibility Awareness at IntuitRaising Accessibility Awareness at Intuit
Raising Accessibility Awareness at Intuit
 
Trickle Down Accessibility
Trickle Down AccessibilityTrickle Down Accessibility
Trickle Down Accessibility
 
Trickle-Down Accessibility - CSUN 2018
Trickle-Down Accessibility - CSUN 2018Trickle-Down Accessibility - CSUN 2018
Trickle-Down Accessibility - CSUN 2018
 
Mystery Meat 2.0 – Making hidden mobile interactions accessible
Mystery Meat 2.0 – Making hidden mobile interactions accessibleMystery Meat 2.0 – Making hidden mobile interactions accessible
Mystery Meat 2.0 – Making hidden mobile interactions accessible
 
Wearable Future for Accessibility
Wearable Future for AccessibilityWearable Future for Accessibility
Wearable Future for Accessibility
 
Android Accessibility - The missing manual
Android Accessibility - The missing manualAndroid Accessibility - The missing manual
Android Accessibility - The missing manual
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

Focus Management and Accessibility on iOS, Android, and HTML5

  • 1. Focus on Accessibility Mobile Web + DevCon 2013 Ted Drake, Intuit Accessibility This presentation: slideshare.net/7mary4/ Wednesday, July 17, 13 This presentation was prepared for the Mobile Web + Dev Conference 2013 in San Jose. It focuses on the importance of controlling focus on mobile devices for accessibility
  • 2. Wednesday, July 17, 13 Tommy Edison, the Blind Film Critic, shows how he uses Instagram on an iphone 4s https://www.youtube.com/watch?v=P1e7ZCKQfMA
  • 3. Wednesday, July 17, 13 Tommy Edison, the Blind Film Critic, shows how he uses Instagram on an iphone 4s https://www.youtube.com/watch?v=P1e7ZCKQfMA
  • 4. 3 Factors Wednesday, July 17, 13 http://webaim.org/standards/wcag/checklist Here are three factors that make an application or web site accessible.
  • 5. Perceivable Wednesday, July 17, 13 All content that is presented visually must also be discoverable via a screen reader or other assistive technology.
  • 6. Wednesday, July 17, 13 This video shows Victor Tsaran trying to use an app that features a set of buttons that are not focusable. He’s frustrated by the inability to begin the process.
  • 7. Wednesday, July 17, 13 This video shows Victor Tsaran trying to use an app that features a set of buttons that are not focusable. He’s frustrated by the inability to begin the process.
  • 8. Operable Wednesday, July 17, 13 All user interactions must be clearly labeled and react to user’s gestures.
  • 9. Where’s the power button in this flashlight app? Wednesday, July 17, 13 This video shows how the Flashlight app has not included labels on the buttons. This makes the user randomly click on elements. When an image is used as a button and does not include an accessibilityLabel, VoiceOver will announce the image’s source, i.e. background dimmed
  • 10. Where’s the power button in this flashlight app? Wednesday, July 17, 13 This video shows how the Flashlight app has not included labels on the buttons. This makes the user randomly click on elements. When an image is used as a button and does not include an accessibilityLabel, VoiceOver will announce the image’s source, i.e. background dimmed
  • 11. Understandable Wednesday, July 17, 13 Content should be readable. Don’t hide important content within background images or treat complex information as a simple string.
  • 12. Flipboard FTW! •Labels •Distinct elements •Focus on new content Wednesday, July 17, 13 This video shows how the Flipboard app is easy to understand. The content and user interfaces are clearly labeled.
  • 13. Flipboard FTW! •Labels •Distinct elements •Focus on new content Wednesday, July 17, 13 This video shows how the Flipboard app is easy to understand. The content and user interfaces are clearly labeled.
  • 14. Screen Reader Wednesday, July 17, 13 Screen reader software, such as VoiceOver, TalkBack, or Narrator provide an interface between the user and the application. The SR interprets the user’s gestures and the application’s output. Gestures are unique to screen reader usage, this can be surprising for custom gestures that detect onTouch events.
  • 15. Go Native Wednesday, July 17, 13 native components already include appropriate focus behaviors. Use these and your application will inherit the accessibility. You will need to control focus whenever using custom elements. The iOS and Android platforms include focus control by default. In HTML, links and form elements natively receive focus.
  • 16. Wednesday, July 17, 13 The key elements for iOS accessibility are: •setting isAccessibilityElement •defining modal views •Grouping children •Announcing screen changes
  • 17. isAccessibilityElement Should an element receive focus? Wednesday, July 17, 13 this can be chosen via interface builder or programatically Make sure this is set to yes for actionable items. Set it to false on parent containers when their children are actionable, i.e. UITableViewCell http://developer.yahoo.com/blogs/ydn/defining-isaccessibilityelement-ios- application-53755.html
  • 18. photoSet.isAccessibilityElement =YES; Wednesday, July 17, 13 Typically you will not set isAccessibilityElement to true on a UITableView. But if you want this to act as a single actionable item, set this to true.
  • 19. photoSet.isAccessibilityElement = NO; photoSetRow.isAccessibilityElement =Yes; Wednesday, July 17, 13 this is the default behavior in iOS and you shouldn’t need to set these values.
  • 20. photoSet.isAccessibilityElement = NO; photoSetRow.isAccessibilityElement = NO; photoSetImage.isAccessibilityElement =YES; Wednesday, July 17, 13 If your UITableViewCell has actionable items, set the cell to NO and place YES on the individual images. This is also commonly seen when a Webview is given focus instead of the website within it.
  • 21. Wednesday, July 17, 13 This video shows a custom container that includes a date picker and button. The container has accessibility so the picker and button are not available to the user.
  • 22. Wednesday, July 17, 13 This video shows a custom container that includes a date picker and button. The container has accessibility so the picker and button are not available to the user.
  • 23. Modality accessibilityViewIsModal Wednesday, July 17, 13 accessibilityViewIsModal https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIAccessibility_Protocol/Introduction/Introduction.html The default value for this property is NO. When the value of this property is YES, VoiceOver ignores the elements within the sibling views of the receiving view. For example, in a window that contains sibling views A and B, setting accessibilityViewIsModal to YES on view B causes VoiceOver to ignore the elements in the view A. On the other hand, if view B contains a child view C and you set accessibilityViewIsModal to YES on view C, VoiceOver does not ignore the elements in view A.
  • 24. Modality accessibilityViewIsModal Wednesday, July 17, 13 accessibilityViewIsModal https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIAccessibility_Protocol/Introduction/Introduction.html The default value for this property is NO. When the value of this property is YES, VoiceOver ignores the elements within the sibling views of the receiving view. For example, in a window that contains sibling views A and B, setting accessibilityViewIsModal to YES on view B causes VoiceOver to ignore the elements in the view A. On the other hand, if view B contains a child view C and you set accessibilityViewIsModal to YES on view C, VoiceOver does not ignore the elements in view A.
  • 25. Wednesday, July 17, 13 This short video shows how a modal window (the right panel) is not blocking elements that sit on a different layer. The user is confused by these extraneous buttons.
  • 26. Wednesday, July 17, 13 This short video shows how a modal window (the right panel) is not blocking elements that sit on a different layer. The user is confused by these extraneous buttons.
  • 27. shouldGroupAccessibilityChildren Wednesday, July 17, 13 VoiceOver will typically read elements in a left to right order. Use shouldGroupAccessibilityChildren to define a group of objects that are read in a vertical or other order. http://developer.apple.com/library/ios/#documentation/uikit/reference/ UIAccessibility_Protocol/Introduction/Introduction.html
  • 28. Statistics are announced as a string and then the labels. These should be read as pairs. Wednesday, July 17, 13 This video shows how the content is not understandable due to the lack of grouping.
  • 29. Statistics are announced as a string and then the labels. These should be read as pairs. Wednesday, July 17, 13 This video shows how the content is not understandable due to the lack of grouping.
  • 30. UIAccessibilityPostNotification Wednesday, July 17, 13 We need to let the user know when the screen is changing. Use UIAccessibilityPostNotification to announce the change. You can also move focus to the changed area, this is helpful for modals or dropdowns. https://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ Accessibility/AccessibilityfromtheViewControllersPerspective.html#//apple_ref/doc/uid/ TP40007457-CH2-SW2
  • 31. UIAccessibilityPostNotification Wednesday, July 17, 13 We need to let the user know when the screen is changing. Use UIAccessibilityPostNotification to announce the change. You can also move focus to the changed area, this is helpful for modals or dropdowns. https://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ Accessibility/AccessibilityfromtheViewControllersPerspective.html#//apple_ref/doc/uid/ TP40007457-CH2-SW2
  • 32. accessibilityLabel flashlightSwitch.accessibilityLabel = @”Turn on the light”; Wednesday, July 17, 13 Going back to the flashlight example, this is how the main button would receive a label.
  • 33. onTouchStart Wednesday, July 17, 13 custom gestures in JavaScript do not work with VoiceOver, as the single finger swipe is used as a key element in VoiceOver navigation. iOS7 introduces a single finger swipe to allow users to access the back button functionality. Depending on where the user begins their swipe, custom JavaScript carousels and other swipe based gestures may not work. ALWAYS include an alternate method for your swipe gestures, such as back and forward buttons photo: a morality play in one act by Cassidy Curtis
  • 34. Android Wednesday, July 17, 13 Android key elements: •android:focusable •exploreByTouchHelper class •onFocusChange •Grouping •Android Lint
  • 35. android:focusable • setFocusable() • isFocusable() • requestFocus() Wednesday, July 17, 13 Android allows you to define the elements that are focusable and actionable with android:focusable =”true” When android cannot find an element that is focusable, it will treat the parent as a single text string. http://developer.android.com/guide/topics/ui/accessibility/apps.html Focus can also be programmed.
  • 36. Wednesday, July 17, 13 This short video shows how an Android application should work. The user should be able to touch explore the statement and read each element uniquely.
  • 37. Wednesday, July 17, 13 This short video shows how an Android application should work. The user should be able to touch explore the statement and read each element uniquely.
  • 38. Wednesday, July 17, 13 In this video, the application has not set android:focusable on the bank statement. The entire set of transactions are announced as a single string.
  • 39. Wednesday, July 17, 13 In this video, the application has not set android:focusable on the bank statement. The entire set of transactions are announced as a single string.
  • 40. accessibilityNodeInfo • Define a custom element • Position • Description • Interaction • Children • Verbose code Wednesday, July 17, 13 http://developer.android.com/reference/android/view/accessibility/ AccessibilityNodeInfo.html AccessibilityNodeInfo allows developers to define how a customer view will be identified and its interactions. It’s a complex set of code and can be verbose.
  • 41. exploreByTouchHelper • Introduced at GoogleIO 2013 • Only 5 abstract methods • Wraps AccessibilityNodeProviderCompat • Very little documentation at this point Wednesday, July 17, 13 exploreByTouchHelper was introduced at GoogleIO 2013. This helper class makes custom elements much easier to build http://youtu.be/ld7kZRpMGb8?t=19m44s
  • 42. announceForAccessibilityCompat public void setCanvasColor(int color) { mCanvasColor = color; updateSummaryText(); invalidate(); // Provide feedback to users of accessibility // services that screen content has changed. announceForAccessibilityCompat(mContext.getString( R.string.announcement_canvas_color_changed, getNameForColor(color))); } Wednesday, July 17, 13 Announce screen changes with announceForAccessibilityCompat send a text string with new information, such as the color or subtotal Classes with ...Compat include backwards compatibility
  • 43. Wednesday, July 17, 13 Android provides a fast tool for finding errors in the code. This is especially useful for finding objects that need a content:description. https://www.youtube.com/watch?v=OtwCe-YlD5k
  • 44. Wednesday, July 17, 13 Android provides a fast tool for finding errors in the code. This is especially useful for finding objects that need a content:description. https://www.youtube.com/watch?v=OtwCe-YlD5k
  • 46. Native Components Links and Form Elements Wednesday, July 17, 13 Links and form elements automatically receive focus and pass events and states. divs, spans, images, lists, and other tags do not receive focus and events are not automatic.
  • 47. Wednesday, July 17, 13 This video shows how an iPhone reacts to different form types. This web page uses no javascript and only very simple CSS. Currently, the only form input type that is not given a special interface is the color picker. iOS6 on iPhone 4S web page can be viewed at http://fyvr.net/a11y/html5-form-types.html
  • 48. tabindex=”0 or -1” Wednesday, July 17, 13 tabindex=”0” allows an item, that normally does not receive focus, get keyboard focus. Use this when retro-fitting div-based buttons. Although it’s still better to use a button. tabindex=”-1” removes an item from the keyboard flow. However, the item can still receive focus via javascript. support for div based buttons without tabindex is available on mobile devices, but shouldn’t be counted on.
  • 50. .focus() Kitten Time Sleep in the sink fluffy fur run attack your ankles, faucibus sleep in the sink enim in viverra tail flick climb the curtains. Wednesday, July 17, 13
  • 51. .focus() Kitten Time Sleep in the sink fluffy fur run attack your ankles, faucibus sleep in the sink enim in viverra tail flick climb the curtains. <h3 tabindex=”-1”>Kitten Time</h3> Wednesday, July 17, 13
  • 52. Live Regions <div aria-live=”polite”> Subtotal: $12.50 </div> Wednesday, July 17, 13 Content that changes within a live region will be announced by the screen reader. Polite waits until the user has finished typing. Assertive will announce the change as soon as possible. http://tink.co.uk/2012/11/accessible-forms-with-aria-live-regions/
  • 53. Loading... Wednesday, July 17, 13 this video shows how hybrid apps can be confusing. Victor Tsaran is trying to use a phonegap based app that has a silent loading notification. He doesn’t know that it is loading and continues to explore the screen, causing an unexpected screen to load. Add role=”button” to links so they are announced as “button” instead of “link” Add aria-live=”assertive” to the loading image and make sure it has alt=”loading”
  • 54. Loading... Wednesday, July 17, 13 this video shows how hybrid apps can be confusing. Victor Tsaran is trying to use a phonegap based app that has a silent loading notification. He doesn’t know that it is loading and continues to explore the screen, causing an unexpected screen to load. Add role=”button” to links so they are announced as “button” instead of “link” Add aria-live=”assertive” to the loading image and make sure it has alt=”loading”
  • 55. Ted Drake w: last-child.com t: @ted_drake s: slideshare.net/7mary4 y: youtube.com/7mary4responding p: pinterest.com/teddrake j: intuit.com - Intuit’s hiring: Web, iOS, Android Thank you to Rebecca Greenberg and Victor Tsaran for video collaborations Wednesday, July 17, 13