Moh’d Abualhuda & Stephan Lemnitzer

Unsolved mysteries between Usability and Accessibility in iOS

How do you implement a custom gesture without breaking accessibility? This live-coding demo shows you how to solve this common iOS conflict.

Unsolved mysteries between Usability and Accessibility in iOS
#1about 2 minutes

Understanding the European Accessibility Act

The European Accessibility Act mandates digital accessibility for services like banking to support millions of users with disabilities.

#2about 2 minutes

Using dynamic type and large content viewer in iOS

iOS provides tools like Dynamic Type to adjust text size and the Large Content Viewer to display non-scaling elements in a larger format.

#3about 3 minutes

The conflict between a custom gesture and accessibility

Migrating to a bottom navigation bar created a conflict where a custom long-press gesture for profile switching overrode the default accessibility long-press for the Large Content Viewer.

#4about 5 minutes

Setting up the demo and testing dynamic type

The demo project is introduced, showing how to use Xcode's Environment Overrides to test Dynamic Type and observe the default Large Content Viewer behavior.

#5about 5 minutes

Implementing a custom long press gesture on a tab bar

A custom UILongPressGestureRecognizer is added to the tab bar, requiring an algorithm to iterate through private subviews to identify the correct tap target.

#6about 3 minutes

Allowing simultaneous gesture recognition with a delegate

The UIGestureRecognizerDelegate protocol is used to allow the custom long-press and the system's accessibility gesture to be recognized simultaneously, creating an initial UI overlap.

#7about 3 minutes

Synchronizing custom alerts with the large content viewer

To prevent UI overlap, the system's default long-press gesture is temporarily disabled while the custom alert is shown, and then re-enabled afterward.

#8about 3 minutes

Optimizing gesture timing and integrating accessibility early

A final optimization adds a delay to the custom gesture when accessibility features are active, underscoring the need to consider accessibility early in the development process.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.