angular / angular/components

bug(material select): Accessibility iOS VoiceOver looses focus when selecting options

Ouverte
#33,209 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Accessibility area: material/select gemini-triaged P3
Langage dominant
TypeScript
Étoiles
25k
Forks
6.8k
Merge moyen
1 j 8 h
PR mergées (30 j)
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

WCAG issue.

Issue seen with iPhone and VoiceOver on the following versions and browsers
- Safari with angular material 20 and 22
- Chrome with angular material 21 and 22

The main issue is that after a double tap on the dropdown (action to select an element when voice over is enabled), when swiping between elements, the focus continues to move outside the select, instead of browsing each element in the select.

The issue is not reproducible on Mac, nor on a classic desktop, and is restricted to VoiceOver use on an iPhone.
The issue is not reproducible on Android/Talkback neither.

### Reproduction

Angular Material Example page: https://material.angular.dev/components/select/overview
StackBlitz link: https://stackblitz.com/run?file=src%2Fexample%2Fselect-reset-example.ts&startScript=start

Steps to reproduce:
1. activate VoiceOver on your iPhone/iPad device
2. Visit the angular material select menu example page
3. play with the select menus having options list that overlap other focusable DOM elements (another menu, a heading, etc...)

### Expected Behavior

Expected: The screen reader focus should go back to the menu where the option is selected.

### Actual Behavior

Actual: After selection is done in the menu, the screen reader focus is pointing to the element behind the chosen material-option.

### Environment

- Angular: 19, 20, 21, 22
- CDK/Material: select
- Browser(s): Safari/Chrome
- Operating System (e.g. Windows, macOS, Ubuntu): iOS

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par reproduire le problème sur la Angular Material select overview page ou dans le StackBlitz lié, en utilisant iOS VoiceOver avec des options qui se superposent à d’autres éléments pouvant recevoir le focus. Comparez la séquence de focus après la sélection d’une option dans les versions indiquées de Safari et Chrome ; c’est terminé lorsque le focus du lecteur d’écran revient au select menu et continue à parcourir ses options.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
angular, typescript
Domaine
accessibility, frontend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
48/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.