Sometimes, you change your app's UI to offer more options as a result of a user's action. And in such cases, it might be a good idea to move VoiceOver's focus to these new options. We can do that by sending a layout changed notification.

Two examples from Apple where they seem to post a layout changed notification to UIAccessibility to move VoiceOver's focus to new options. First one is the reminders app. When double tapping the Date & Time button, there is a new bar that appears on top of it with some predefined date options, and the focus moves to the first option in the bar that appeared. The second is the camera app. At the top of the screen there is a camera controls button that is collapsed by default. If you expand it, some new options appear further down the screen, right after the zoom options, and VoiceOver focus will move to the first one of the new camera controls presented.

You may also find interesting...

Have you ever seen VoiceOver randomly focusing on elements of the previous view when presenting a custom modal view? That can be fixed by letting the system know that the presented view is modal in terms of accessibility.

Images can automatically scale for accessibility content size categories, by setting the adjustsImageSizeForAccessibilityContentSizeCategory property to true, for any UIImageView you'd like to get its size adjusted. https://developer.apple.com/documentation/uikit/uiaccessibilitycontentsizecategoryimageadjusting/adjustsimagesizeforaccessibilitycontentsizecategory

@BeMyEyes, founded by @hjwiberg, enables people who are blind and low vision to identify objects by pairing them with volunteers from around the world using their camera. Winner of an Apple Design Award 2021 for Social Impact.

Created in Swift with Ignite.

Supporting Swift for Swifts