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 ?
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.
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:
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.
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.
voila!
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.
Make sure you have XCode opened in the background
(even though you are using Accessibility Inspector standalone app)