Once you learn some basic gestures with VoiceOver, it is very important to master he Rotor. It is very useful to also know some more power user gestures like the Magic Tap or the Escape gesture.

5 gestures from VoiceOver. There is a Twitter app open on the TwitterA11y profile screen. Rotating two fingers on the screen, like rotating a dial, will show you the rotor. In this case, a tweet is focused and VoiceOver will say: “Actions”. Then, you can swipe down to interact with the selected rotor option. VoiceOver will say in this example: “Reply”. Sometimes, you’ll need a double tap to confirm. In this case, doing so will open the screen to reply to that tweet. Back to the first screen, if you double tap with two fingers, that’s called the Magic Tap. It is meant to execute the most important interaction in the screen. In this case it will open the screen to compose a tweet. If you scrub with two fingers, like drawing a Z, it is called the Escape gesture. It should bring the user back to the previous screen. In the example, back to the TwitterA11y profile screen.

You may also find interesting...

VoiceOver will traverse elements from left-right, and from top-bottom. If for any reason you need to change that order, in SwiftUI you can change the accessibility sort priority. A higher priority number in the container means it will go first.

Meet the rotor. A menu that you activate (and change options) by rotating two fingers on the screen. It lets you select different navigation modes and customizations. Like navigating through headings or changing VoiceOver’s speaking rate.

When implementing a UISlider, it is a good idea to consider how much the slider value should change when swiping up/down to adjust it. It might not always make sense to do it in 10% increments, which is the default behaviour. Could be because the value at those intervals doesn't make sense, or feel random, or because it wouldn't provide the user with a fine enough control being able to go through the whole slider in just 10 swipes. It user will still be able to adjust the slider to any value by double tapping and holding and then moving the finger left or right, bypassing VoiceOver gestures. VoiceOver announces the new value as it changes.

Created in Swift with Ignite.

Supporting Swift for Swifts