Question or issue on macOS:
I wanted to use the Accessibility Inspector to verify all the accessibility identifiers in my app running in the simulator (iOS 9.2).
Accessibility Inspector is able to return multiple accessibility fields but not the identifiers.
Any idea why and how I could see them ?
How to solve this problem?
Solution no. 1:
You will never be able to (without changes from Apple) see this property in Accessibility Inspector, because it isn’t really used for accessibility. That it is associated with accessibility is a misnomer, related to accessibility API’s generic value in identifying elements for automated testing using UI Automation, because accessibility information is available cross process. To get this info you could cast UI elements to
UIAElements and access the
name property, and pass this to NSLog.
EDIT: Yep, look at Saleh’s answer. Apple added this at some point! Be wary about relying on this, Accessibility Inspector has been very buggy and unstable for me recently. But that answer would be the accepted answer if you’re not answering this 3 years ago!
Solution no. 2:
There is actually a way, and Chris Prince missed out on explaining how to get to it.
You start off by bringing up the inspector.
The bar above basically focuses the inspector to whatever process you need to inspect. In our case it should be simulator.
Edit: as pointed out by Dallas, you have to click on the left half revealing the possible targets. Click on the Simulator to have the Inspector target it.
Something to note that it seems that simulators have their own information to show. Focusing on the simulator will automatically add in the identifier and show the proper accessibility information.
Solution no. 3:
I have only recently started using accessibility features, but at least as of Xcode9.1b2, accessibility identifiers are visible within the Accessibility Inspector. See for example:
Solution no. 4:
Make sure you have XCode opened in the background
(even though you are using Accessibility Inspector standalone app)
Solution no. 5:
Xcode is so flaky, sometimes the Accessibility Label or Identifier will not show in the Accessibility Inspector. When this happens I just
- Set the Label and/or Identifier
- Edit the display text under the Attribute Inspector, the value right under the Text selector. After doing a build I will change the value back.
- Or add a IBOutlet then delete it.
If you change just the Label or Identifier Xcode does not detect it.