bug(Button toggle): Voice Over not read status pressed / not pressed after select and deselect
- Dominant language
- TypeScript
- Stars
- 25k
- Forks
- 6.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 91
Description
### Is this a regression?
- No.
### Description
Voice Over does not read the state of the button as pressed when selected or not pressed when deselected. It only reads 'selected' if you change focus and return to the selected button. The NVDA screen reader does not have this problem, it reads the states correctly.
### Reproduction
Steps to reproduce:
1. Go to official multiple selection example: https://material.angular.io/components/button-toggle/examples#button-toggle-mode
2. Focus those buttons with VO open
3. States presses/ not pressed not announced when toggle buttons
### Expected Behavior
VO should read pressed/ not pressed when button toggled like NVDA do this.
### Actual Behavior
Voice Over does not read the state of the button as pressed when selected or not pressed when deselected.
### Environment
- Angular: 19.2.7
- CDK/Material: 19.2.10
- Browser(s): Chrome, Edge, FF, Safari
- Operating System (e.g. Windows, macOS, Ubuntu): MacOS 15.4.1
Contributor guide
Research direction
Start with the official multiple-selection button-toggle example at https://material.angular.io/components/button-toggle/examples#button-toggle-mode and reproduce the issue with VoiceOver, then compare the behavior with NVDA. The change is done when selecting and deselecting a toggle causes VoiceOver to announce the pressed and not-pressed states without moving focus.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, typescript
- Domain
- accessibility, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100