adobe / adobe/react-spectrum

Combobox only announces item name with VoiceOver

Open
#10,220 4 comments 0 reactions 0 assignees View on GitHub
accessibility ComboBox
Dominant language
TypeScript
Stars
15.9k
Forks
1.6k
Avg merge
3d 9m
Merged PRs (30d)
59

Description

### Provide a general summary of the issue here

When navigating the `Combobox` component with VoiceOver on, only the name of the item is announced.

The following information is missing:

- Selected / not selected
- Menu item role
- Item count

### 🤔 Expected Behavior?

VoiceOver should announce more information about the item:

i.e. `Item 01 not selected, menu item, (1 of 20)`

### 😯 Current Behavior

Voice over only announces the item name:

i.e. `Item 01`

https://github.com/user-attachments/assets/ca92a210-8833-4955-9bee-d238b19ed2fd

### 💁 Possible Solution

The React Aria `Select` component does not have this issue.

The Base UI `Combobox` seems to work as expected:

https://base-ui.com/react/components/combobox

### 🔦 Context

Same thing seems to happen when you use the `ListBoxSection` component with `Select` and `Combobox`. Some information about the item is lost compared to when you render the items directly in the `ListBox`.

### 🖥️ Steps to Reproduce

All the examples in the docs have this issue:

https://react-aria.adobe.com/ComboBox

### Version

1.18.0

### What browsers are you seeing the problem on?

Chrome

### If other, please specify.

_No response_

### What operating system are you using?

MacOS 26

### 🧢 Your Company/Team

_No response_

### 🕷 Tracking Issue

_No response_

Contributor guide

Open the contributing guide

Research direction

Start with the ComboBox examples in the React Aria documentation and reproduce the behavior with VoiceOver in Chrome. Compare ComboBox and ListBoxSection with the Select and directly rendered ListBox examples; done means items announce selection state, menu item role, and position such as “1 of 20”.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
accessibility, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.