Love this feature! Yahoo released the possibility to explore charts with audio, in the finance app, when using screen readers in 2019. You can do now something very similar since iOS 15.

https://coolblindtech.com/yahoo-finance-app-makes-charts-accessible-to-blind-and-partially-sighted-users/

Health app is open on the Steps section. When selecting the graph, there is a Audio Graph rotor. When it is selected, you can swipe down for a Describe Chart action, swipe down one more time for the Playing Audiograph action, swipe down again for Chart Details. When double tapping an Audio Graph screen is open. There is also a play button for playing the whole graph. The code shows you how you can conform to AXChart by overriding accessibilityChartDescriptor and it shows how you can build the data series descriptor by mapping your data model into AXDataPoints.

You can move your finger in the x-axes, and it will play a sound with a different pitch depending on the data in the y-axes, making it easier to identify trends in the graphs.

You need to conform to the AXChart protocol by implementing the accessibilityChartDescriptor property.

Documentation: https://developer.apple.com/documentation/accessibility/audio-graphs

WWDC21 session: https://developer.apple.com/videos/play/wwdc2021/10122/

You may also find interesting...

Too much data can overwhelm users. Very little is an incomplete experience. It is hard to find a balance on verbosity and the users may have different preferences. To help with this issue, the AXCustomContent APIs let you mark data as optional.

Since iOS 14, you can get a human readable localised name for a UIColor, with a very useful property called accessibilityName, that you can use in accessibility attributes like labels or values. How cool is that? https://developer.apple.com/documentation/uikit/uicolor/accessibilityname

Support both orientations, if possible. I know not even iOS itself does it, but it hasn't always been like that. You'll create a more robust UI that will be easier to port to iPadOS. And especially, don't force your users to rotate their devices.

Created in Swift with Ignite.

Supporting Swift for Swifts