When making charts accessible, sometimes you may have just too many data points for the user to have to go one by one through all of them. In those cases, you can create accessibility elements that represent meaningful chunks of the graph.

Apple maps app showing a bicycle route to the BBC Broadcasting House. There is a graph showing elevation. there are many data points for the 6.1 mile ride. Apple groups a few of these data points so it is easier to consume the data with VoiceOver. In the example, a portion of the chart is selected and VoiceOver announces: From 3.5 miles to 4.2 miles, climb 23 feet, descend 43 feet.

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.

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.

Sometimes your UI will just not scale for large text sizes. Simple changes, for large sizes, like disposing elements vertically instead of horizontally, reducing the number of columns, and allowing more lines of text, can do the trick most times.

Created in Swift with Ignite.

Supporting Swift for Swifts