World Congress 2023 • Oct 6, 2023

Unsolved mysteries between Usability and Accessibility in iOS

Moh’d Abualhuda , Stephan Lemnitzer

When ING added a custom long-press gesture, it unexpectedly broke the iOS Large Content Viewer. Discover how they engineered a non-destructive Swift solution to balance usability and accessibility.

Pause
Mute Enter Fullscreen
#1 about 3 min

Introduction to software accessibility and European compliance directives

Defining software accessibility as a universal service and adapting to the European Accessibility Act.

#2 about 3 min

Using dynamic type and large content viewer in iOS

How iOS tools like dynamic type enlarge text and the large content viewer displays unscalable interface elements.

#3 about 4 min

Conflict between custom profile switching and system accessibility tools

Implementing a custom long-press gesture for profile switching inadvertently overrides the default iOS large content viewer.

#4 about 4 min

Introducing the demo project workspace and Xcode environment

Setting up the iOS simulator, Swift code, and Xcode overrides reproduces the specific gesture conflict.

#5 about 2 min

Visualizing dynamic type scaling inside the iOS simulator

Testing large accessibility sizes via environment overrides reveals which user interface elements fail to scale natively.

#6 about 3 min

Adding a custom long press gesture to the tab bar

Initializing a long-press gesture on the underlying tab bar catches manual interactions but overrides system defaults.

#7 about 3 min

Accessing tab bar subviews and identifying the event conflict

Iterating over undocumented internal views of the tab bar exposes the runtime clash between custom actions and system events.

#8 about 3 min

Implementing gesture delegates to allow simultaneous event recognition

Conforming to the custom gesture recognizer delegate allows both the system content viewer and custom switch alert to fire.

#9 about 3 min

Synchronizing custom alert presentation with native content viewers

Temporarily disabling the default large content interaction during the manual sequence prevents conflicting screen overlays.

#10 about 2 min

Adjusting custom gesture duration to improve reading accessibility

Extending the minimum press duration of actions ensures disabled users have adequate time to read customized text.

#11 about 2 min

Balancing product usability goals with core system accessibility features

Integrating accessibility testing early in the software development lifecycle preserves platform conventions alongside feature requirements.

Matching moments

2:34 min

Testing and accessibility in Compose Multiplatform on iOS

Andrea Della Porta Andrea Della Porta · World Congress 2026 Europe

3:00 min

Addressing implementation questions around accessibility patterns and audits

Anuradha Kumari · World Congress 2022

2:15 min

Overcoming challenges in building accessible interfaces

Aurora Scharff Aurora Scharff · World Congress 2025

6:11 min

Preventing UI overlays from breaking standard keyboard accessibility

Chris Heilmann Chris Heilmann +2 · LIVE

3:51 min

Audience questions on accessibility and framework tradeoffs

Rowdy Rabouw Rowdy Rabouw · World Congress 2022

1:08 min

Reviewing key learnings for continuous accessibility integration

Jörg Jakoby Jörg Jakoby · World Congress 2026 Europe