Best Way to Announce Multiple Selectable Options with VoiceOver?

By Praveen, 17 April, 2025

Forum
App Development and Programming

Hi everyone,

I’m working on VoiceOver support for a screen where users can choose from multiple configuration options—for example, selecting a color from a list like Green, Red, and Blue.

I’d love your input on the best way to announce these options with VoiceOver.

If Blue is the default selected color, which of the following approaches would offer better clarity for VoiceOver users?
1. “Green, button”, “Red, button”, “selected, Blue, button”
or
2. “Green”, “Red”, “selected, Blue”

Also, if I don’t include the button trait, how will users know that these options are actionable/selectable? In my point of view it is important to always include the button trait to ensure usability.

I noticed Apple’s own apps sometimes announce these differently—so I’m curious what others here have found works best from a user experience standpoint.

Thanks in advance! 😊

Options

Comments

By gailisaiah on Thursday, April 17, 2025 - 13:47

Hi Praveen,
I think either option will clearly identify the color choice as long as either before or after identifying a button, it says, "Selected".

By Michael Hansen on Thursday, April 17, 2025 - 14:47

Member of the AppleVis Editorial Team

Hi Praveen,

In my opinion, you are right on with your first idea. Having VO state that each selectable color is a button leaves zero room for ambiguity. Option 1 is how I would expect the interface to work.

Keep your questions coming!

By Lee on Thursday, April 17, 2025 - 14:47

Hi, like option 1 but as of 18.something you now have a setting to change how vo announces these.

By PaulMartz on Thursday, April 17, 2025 - 16:47

I personally find it confusing that it's both a button and selectable. That doesn't make sense. A button is something you click without a selection state. It's a trigger. A control with selection state is a checkbox, right?

My preference for a selectable checkbox would be: First, tell me if it's selected, otherwise silence - no need to tell me it's not selected; second, tell me the label; third, tell me it's a checkbox. You can set it up to do this in MacOS, in VO Utility, custom verbosity. iOS 18 has some nice changes in this direction, but I don't think it's quite as flexible as MacOS yet.

By PaulMartz on Thursday, April 17, 2025 - 18:47

I understand now that "multiple" in the post title does not mean this is a multi-selection control. If only one of the options can be selected at a time, then button, or radio button, is probably fine.

By Brian on Friday, April 18, 2025 - 16:47

If you decide to go with the button route, perhaps make it so that a selected button is grayed out? Usually, with VoiceOver enabled, buttons in this state will usually read as something like, "Blue button, dimmed", where dimmed represents a button that cannot be used because it has already been selected.
Hope that makes sense.