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...

It is possible to change the traversing order of accessibility elements by configuring the accessibilityElements array. You should try to avoid it, but one good reason for doing it is if the default order is illogical because of the visual layout.

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.

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