Apple has a lot of helpful tools to assist developers with integrating accessibility into the applications they build. Before we get started with VoiceOver, it’s important to become familiar with the Accessibility Inspector. The Accessibility Inspector is a tool that shows all of the properties and values, methods (actions that can occur from elements on the screen), and position of the object that’s currently being selected on the screen.
For this blog post, I made a simple app that lists my favorite Prince songs in a TableView Controller. I’ll open up the Accessibility Inspector to look at all of the accessibility elements.
Opening the Accessibility Inspector
In Xcode, select Xcode > Open Developer Tool > Accessibility Inspector.
The Accessibility Inspector window should pop up and on the top left nav, you’ll see a Target Chooser. In my Target Chooser, I see three choices: Erica’s MacBookPro, That’s What I’m 🌮ing About! (it’s the nickname for my iPhone), and my Xcode Simulator. I selected the Simulator.
In Xcode, I went ahead and created a TableView Controller and filled the cells with the names of my favorite Prince songs. I ran the app in my Simulator.
It is in this Accessibility Inspector that you can navigate the app and see what a user would hear with VoiceOver as you mouse over or tap on elements on the screen.
In the Accessibility Inspector, you can navigate the app and perform actions (i.e. clicking on the tableView cell labeled “Uptown”). Under Actions, I can activate “Perform” to select the cell and segue to the DetailViewController.
Audits on the Accessibility Inspector
The Accessibility Inspector also has “Audit” feature that allows you to run an audit on your app and see what accessibility elements are missing.
As you can see from the screenshot above, my app does not currently support Dynamic Text. Dynamic Text is an accessibility feature that allows users to change the font size of this element. You can click on the “?” to read a suggestion on how to address this issue. I will discuss how to setup Dynamic Text in a future blog post.
In my next post, I’ll discuss how I to incorporate VoiceOver as an accessibility feature in my app.