bug(mat-select): Talkback cannot navigate long dropdowns
- Dominant language
- TypeScript
- Stars
- 25k
- Forks
- 6.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 91
Description
### Is this a regression?
- [ ] Yes, this behavior used to work in the previous version
### The previous version in which this bug was not present was
_No response_
### Description
When navigating through a mat-select element using Talkback on an Android mobile device, dropdowns with many options cause the page to not maintain focus and result in major jittering and page UI issues. This is not the case with a list of small options. This may be partially a mat-option issue as well.
### Reproduction
StackBlitz link:
Steps to reproduce:
1. view page with Talkback on Android
2. attempt to move through the list (note the jittering and incorrectly moving content)
### Expected Behavior
Swiping left and right should provide consistent navigation without large UI jumps and page jittering. The element that is being focused should be indicated to the user.
### Actual Behavior
Swipping left and right with standard mobile screen reader navigation on long dropdowns results in UI reloading errors and focus issues. Occasionally, the first or last few elements will function normally but issues occur at the midpoints of these lists.
Looking at other UIs that have a similar element the Multiple Search Selection "state" field [here](https://semantic-ui.com/modules/dropdown.html) seems very good, UI focus is maintained and there are no large reloading jumps when navigating. Though this is an arbatray dropdown example, and I am sure there are other ones that could be identified.
### Environment
- Angular: 21.0.6
- CDK/Material: 20.2.9
- Browser(s): Chrome
- Operating System (e.g. Windows, macOS, Ubuntu): Android
Contributor guide
Research direction
Start with the mat-select and mat-option entry points and reproduce the issue in Chrome on Android with TalkBack using a long list of options. Done means left/right navigation keeps focus on the intended element, avoids large UI jumps or jitter, and consistently indicates the focused option.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, typescript
- Domain
- accessibility, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100