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.

There are five buttons labeled with A, B, C, D, E. The A button is first, B is underneath it, and C, D, and E are under B. The natural order with VoiceOver would be A, B, C, D, E. There is some code that gives C a sort priority of 2, D a sort priority of 3, and E a sort priority of 1. That means that the order will be A, B, D, C, E instead.

You may also find interesting...

The link accessibility trait is applied to UI elements that open some web content. It usually appears in-line in the content and represented by underlined text, but not always. VoiceOver will say "link" after the accessibility label.

If an image does not convey additional information, maybe it's just used to make the UI look more attractive, it makes sense for VoiceOver to skip it. UIKit: set isAccessibilityElement to false. SwiftUI: create a decorative image explicitly.

Some good practices when it comes to charts and data visualizations: use high contrast colors, avoid problematic pairings (red-green, blue-yellow), use symbols as well as colors...

Created in Swift with Ignite.

Supporting Swift for Swifts