Do you recommend using the same label for Voice Over and Voice Control for icon buttons?

For example, our app uses an info icon in many places to open modals that explain useful terms or provide disclosures. For Voice Control it feels most natural to have users trigger it with a label like "info" as that matches the icon on-screen but for Voice Over "info" sometimes feels too vague and something like "Open terms to know" would provide more context.

Is this just a good example of the use-case for accessibilityInputLabels so that we can have a more descriptive value for Voice Over and also provide a more natural label for Voice Control? Or should we re-think how to label these in a way that is consistent for both technologies?

Answered by Frameworks Engineer in 891474022

The answer to the general question “Should labels be the same for VoiceOver and Voice Control?” is: “It depends.”

When they should be the same:

VoiceOver users already have a signal that the cursor has landed on a button or otherwise interactable element (e.g. “More button”), so you don’t need to include a verb in the label.

Voice Control only labels interactable elements, so you don’t need to include a verb in the label. Here, more concise is preferred as it’s less to display and remember.

In your specific example, I think it’s okay to provide a simple noun of the content shown when pressed, like “info” or “more”.

This is often what you get from the default labels.

When they should be different:

If you put extra effort into streamlining the interface for VoiceOver users such as combining elements to offer more information and/or fewer steps, that’s when you want to use accessibilityInputLabels to keep the Voice Control interface concise.

For example, a weather widget might include several elements: a city, a temperature, a sun/rain indicator, a forecast, and a “more” button. By grouping these elements, a VoiceOver user hears all the information as soon as the cursor lands on it. But a Voice Control user will still want the name label to be simply “more” to activate the now-embedded button.

Accepted Answer

VoiceOver labels and Voice Control labels can definitely differ. This is actually exactly what accessibilityInputLabels is for. You can provide a list of great labels that you may feel Voice Control users would intuitively use. While still providing a concise effective label for VoiceOver users.

The answer to the general question “Should labels be the same for VoiceOver and Voice Control?” is: “It depends.”

When they should be the same:

VoiceOver users already have a signal that the cursor has landed on a button or otherwise interactable element (e.g. “More button”), so you don’t need to include a verb in the label.

Voice Control only labels interactable elements, so you don’t need to include a verb in the label. Here, more concise is preferred as it’s less to display and remember.

In your specific example, I think it’s okay to provide a simple noun of the content shown when pressed, like “info” or “more”.

This is often what you get from the default labels.

When they should be different:

If you put extra effort into streamlining the interface for VoiceOver users such as combining elements to offer more information and/or fewer steps, that’s when you want to use accessibilityInputLabels to keep the Voice Control interface concise.

For example, a weather widget might include several elements: a city, a temperature, a sun/rain indicator, a forecast, and a “more” button. By grouping these elements, a VoiceOver user hears all the information as soon as the cursor lands on it. But a Voice Control user will still want the name label to be simply “more” to activate the now-embedded button.

Do you recommend using the same label for Voice Over and Voice Control for icon buttons?
 
 
Q