bug(material select): Accessibility iOS VoiceOver looses focus when selecting options
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 48/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- angular, typescript
- Bereich
- accessibility, frontend
Rechercherichtung
Beginne damit, das Problem auf der Angular Material select overview page oder im verlinkten StackBlitz mit iOS VoiceOver zu reproduzieren, wobei sich Optionen mit anderen fokussierbaren Elementen überschneiden. Vergleiche die Fokusreihenfolge nach der Auswahl einer Option in den aufgeführten Safari- und Chrome-Versionen; abgeschlossen ist die Aufgabe, wenn der Fokus des Screenreaders zum select menu zurückkehrt und durch dessen Optionen fortfährt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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:
- activate VoiceOver on your iPhone/iPad device
- Visit the angular material select menu example page
- 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
- Vorherrschende Sprache
- TypeScript
- Sterne
- 25k
- Forks
- 6.8k
- Ø Merge
- 1 T. 1 Std.
- Gemergte PRs (30 T.)
- 84
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus angular/components
-
area: material/tree docs gemini-triaged needs triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
angular/components#33832 ·
-
area: material/datepicker gemini-triaged P4
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
angular/components#33763 · 2 Kommentare · 3 Reaktionen ·
-
area: material/table gemini-triaged P4
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
angular/components#33709 · 1 Kommentar ·
-
area: material/table docs gemini-triaged P4
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
angular/components#33455 ·
-
area: material/core gemini-triaged P3
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
angular/components#33059 · 2 Kommentare ·
Alle Issues in angular/components
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
bcgov/bc-wallet-mobile#4761 · 1 Kommentar ·
-
external-issue to-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
-
area-deployment area-integrations triage:bot-seen
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 86/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
-
refactor
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100