Slides for 'Implementing Inclusive Interfaces' from YOW! Connected 2015 in Melbourne, Australia.
As mobile developers, accessibility often gets pushed aside. For people with disabilities, the communication tools we take for granted are often denied to them. I want to talk about ways of building new interfaces to enable inclusivity and expand peoples understanding of the complex landscape of users with accessibility needs.
It's obviously not easy to make mobile apps accessible - otherwise more apps would be. Over the past few years, apps have become more complex and accessibility has suffered.
Through research, user testing and experimentation, I've found ways to speed up the process of making a mobile app accessible.
For the first part of the talk, I would like to cover understanding the complex landscape of users, and the tools that Apple provide developers to enable these users to use their devices. This would include a few short demos of different aspects of accessibility features available on iOS - mostly VoiceOver and Switch Control.
The second part of the talk would focus on ways of improving accessibility UX and how to quickly and effectively implement it in mobile apps.
The talk would be helpful for any mobile app developers regardless of platform, but the code examples and demos would be given on iOS.
35. VoiceOver: Describe the element
Label: Invert Colours - Off
Hint: Double-tap to toggle setting
Label: Vision
Trait: Heading
36. accessibilityLabel
- Label that identifies the accessibility element
- UIKit control: uses title
- Image-based controls definitely need to
specify this!
- Don’t include the control type
37. accessibilityTraits
- Combination of traits that best characterise
the accessibility element
- UIKit controls: defaults to standard traits
- Combine traits with an OR operator
- (UIAccessibilityTraits)accessibilityTraits
{
return [super accessibilityTraits] | UIAccessibilityTraitButton;
}
39. accessibilityHint
- Describes the outcome of performing an action
- Don’t make it sound like a command
- Start with verb describing result
- Keep it brief
Note: can be disabled by user
“Sends the message”
54. A user can view all details about a product.
A user can purchase a product or products through the checkout.
A user can browse through the products by pre-defined categories.
A user can find a product by searching.
A user can select a product from a list of chosen picks.
A user can sort a list of products by relevance, price or date added.
A user can filter a list of products by price range and various criteria.
A user can view a list of products as a list or a grid.
A user can add a product to a list of favourites.
A user can add a product to the basket.
A user can customise a product by personalizing it.
81. Find out when VoiceOver is
finished speaking
Listen out for: UIAccessibilityAnnouncementDidFinishNotification
To find out if VoiceOver had finished reading or was interrupted, check
the userInfo:
UIAccessibilityAnnouncementKeyStringValue
UIAccessibilityAnnouncementKeyWasSuccessful