Daniel Daniel - 2 months ago 14
iOS Question

If the 'Accessibility Identifier' is intended for UI Automation tests, why is it included in localizable resources?

It appears that the

Accessibility Identifier
property has been added to allow UI automation tests to have a more stable ID. It's recommended to be used instead of the
Accessibility Label
as the label is used by Screen Readers and VoiceOver.

This makes sense, however:

  1. Why is the
    Accessibility Identifier
    included as a translatable
    string resource when using the Export for localization feature in
    Xcode? This makes multi-language testing more difficult because it encourages a different ID in each language.

  2. Why is the
    Accessibility Identifier
    associated with Accessibility at
    all? Why not call it UI Automation ID? Does the
    Accessibility Identifier
    actually get presented to screen readers, VoiceOver, other?


After filing a bug with Apple, I got this response:

This is definitely a bug we will fix, and you are correct that it isn’t presented to VoiceOver, or other screen readers

Update: Confirmed fixed in Xcode 8 GM