Even when setting a view as modal for accessibility, you may notice that VoiceOver's focus stays in the same place, instead of moving to the presented view. You can post a screen changed notification and pass the view that should get the focus.

Youtube app. VoiceOver focus is on the more options button. The user double taps the screen. The options menu is open, but the focus can remain in the more options button when presenting a modal view in a custom way. For moving the focus to the presented view, you can post a notification to UIAccessibility. The type of the notification is screen changed and the argument, the view you'd like to get the focus, in this case, the draggable view that lets you also close the menu.

You may also find interesting...

If you need for a view (and all its subviews) not to be focusable by assistive tech like VoiceOver, you can set its accessibilityElementsHidden property to true. This isn't needed very often, but it can be useful for certain custom experiences.

Touch target sizes are recommended to be at least 44 x 44 points. Buttons in the navigation bar ( especially when not using nav bar button items), dismiss buttons, and custom toolbars, are use cases that tend to have smaller sizes.

You don't have to offer an alternative layout just for the accessibility category. You can actually compare content size categories. So you could tweak the UI already for anything equal to or larger than .extraExtraLarge, for example.

Created in Swift with Ignite.

Supporting Swift for Swifts