Resources for Implementing Accessibility in your App: VoiceOver
I was in a Clubhouse room where someone mentioned the best resource to refer to a developer for implementing accessibility in their app.
I had that question a few years back working on Rocket.Chat iOS app to implement VoiceOver, and the answer was — it’s scattered all around the internet.
So here’s an attempt to gather all the resources I’ve referred to, both in UIKit and SwiftUI.
Note — This is the first iteration of the post, and I will add more resources as I stumble upon them. If you have any recommendations, please reach out to me on @rudrankriyam on Twitter.
Introduction
VoiceOver is a screen reader built into Apple hardware that allows blind and low-vision users to use a touch screen by audibly describing elements of the screen as they pan or swipe around it.
UIKit
I’ve mentioned Objective-C if that article contains examples in this language. Otherwise, most of them have examples in Swift.
Guides
Articles
- Raywenderlich — iOS Accessibility: Getting Started
- Raywenderlich — iOS Accessibility Tutorial: Making Custom Controls Accessible
- Apple Documentation — Supporting VoiceOver in Your App
- Capital One Tech — iOS Accessibility — Best Practices for the VoiceOver User Experience
- Majid Jabrayilov — Improving accessibility for iOS apps with VoiceOver — Part 1
- Majid Jabrayilov — Improving accessibility for iOS apps with VoiceOver — Part 2
- Majid Jabrayilov — Improving accessibility for iOS apps with VoiceOver — Part 3
- Use your Loaf — VoiceOver Accessibility (Objective-C)
- Deque — Common Accessibility Element Pitfalls and How to Avoid Them (Objective-C)
Videos
- Kilo Loco — Voice Over Labels | Accessibility
- Rudrank Riyam — VoiceOver Accessibility — Swift Delhi Meetup Chapter 20
WWDC Sessions
- Writing Great Accessibility Labels
- Making Apps More Accessible With Custom Actions
- VoiceOver efficiency with custom rotors
- Creating an Accessible Reading Experience
- VoiceOver: App Testing Beyond The Visuals
Sample Code
SwiftUI
Articles
- Raywenderlich — iOS Accessibility in SwiftUI Tutorial Part 1: Getting Started
- Raywenderlich — iOS Accessibility in SwiftUI Tutorial Part 2: Organizing
- Rob Whitaker — SwiftUI Accessibility: Images
- Rob Whitaker — SwiftUI Accessibility: Attributes
- Paul Hudson — Identifying views with useful labels
- Paul Hudson — Hiding and grouping accessibility data
- Paul Hudson — Reading the value of controls
WWDC Sessions
AppKit
Articles
WatchKit
I haven’t been able to find free resources on this, but I stumbled upon this book that has a whole chapter on it —
I hope you found it useful!