WWDC 2018 : Deliver an exceptional accessibility experience
This video available on the official Apple website (session 230) aims at highlighting the essential elements that will provide an optimal user experience for visual impaired people. Various contents and their video timelapse are indicated hereunder:
- Transparency and blurring (03:07)
- Contrast (04:38)
- Sizing (07:04)
- Motion (08:48)
- UIAccessibilityElement (21:03)
- Adjustable values (21:44)
- Custom actions (23:49)
- Accessibility modal view (25:02)
- Notifications (25:13)
- How to render a carousel perfectly VoiceOver understandable ? (25:53)
- How to synchronize the selected carousel element with the displayed data ? (30:53)
- How to gather actions with an elements regroupment ? (33:05)
- How to avoid selections behind a 'Modal View' ? (34:32)
- Final rendering with an optimized VoiceOver implementation. (35:38)
The latest content points out an amazing application for :
- The developers interested in finding out detailed explanations about many VoiceOver implementations.
- Those who are willing to figure out how a mobile application should interact with VoiceOver to obtain an optimal user experience (see 'Final rendering with an optimized VoiceOver implementation').
Since iOS 8, classes such as
UIVisualEffectView perfectly handle the blurring effect of an image.
However, this could give rise to sighting difficulties for some people having visual impairments.
In this case, there's a possibility for the user to drastically weaken these effects by activating the appropriate accessibility option in his settings.
The result is a darker background that may become completely uniform under certain circumstances.
isReduceTransparencyEnabled property value is available in the programing language as well.
The contrast between the foreground and the background colors is very important and depends a lot on the font type properties that are detailed in the iOS guide section of this site.
To improve the reading experience, it's natively possible to increase the colors contrast by activating the appropriate accessibility option in the settings.
isDarkerSystemColorsEnabled property enables the developed application to be informed of its value.
The individual presented elements about the
Dynamic Type are widely explained in the iOS developement section and refer to another presentation detailed in the WWDC part of this site.
Display a bold font type may improve the visual rendering enough without disproportionately increase the font size.
Once more, this accessibility option can be activated in the mobile settings.
isBoldTextEnabled property enables the developed application to be informed of its value.
Any animations may give rise to problems of balance even of nausea to certain people.
The user settings allow to strongly decrease the effects of all kind of native animations by activating the appropriate accessibility option.
isReduceMotionEnabled property enables the developed application to be adapted to the user preference.
The implementation and the purpose of this element are explained and introduced inside the demo application.
This functionality that is implemented thanks to a specific trait is specifically introduced in this presentation so as to ease the element selection inside a
A different outline of this functionality is developed in another presentation detailed in the WWDC part of this site.
On a single selection, it's possible to gather many actions that are initially trigerred by distinct graphic elements. All the explanations are also exposed in another presentation detailed in the WWDC part of this site.
When a view is only presented as being at the top of the view hierarchy, VoiceOver doesn't know natively that the background elements mustn't be analyzed.
The solution deals with the
accessibilityViewIsModal value so as to avoid VoiceOVer to check other elements than those in the foreground.
Reminder to notify the users about modifications on the screen. More detailed explanations are available in the developer part of this site.
During this presentation, some solutions for VoiceOver implementation pitfalls are suggested thanks to a simple application. First of all, the application introduction and the non optimized VoiceOver rendering must be watched in order to understand the rationale behind the proposed solutions.
- Create an accessible element to define the carousel. (26:11)
- Implementations of the
- Definition of
- Creation of a scrolling function. (27:14)
- Add the carousel element as an accessible element. (28:38)
- Updating of the displayed data in conjunction with the user selection. (29:51)
- Screen updating notification when a carousel element selection occurs. (30:14)
- Gather elements to significatively improve the selection. (31:14)
- Synchronization of the regrouped elements with the selected carousel element. (32:46)
How to avoid selections behind a 'Modal View' ?
The presented code of this video and many explanations of its implementation are available on the Apple developer site.