bug(material select): Accessibility iOS VoiceOver looses focus when selecting options
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 48/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- angular, typescript
- Domínio
- accessibility, frontend
Direção de pesquisa
Comece reproduzindo o problema na Angular Material select overview page ou no StackBlitz vinculado, usando o iOS VoiceOver com opções sobrepostas a outros elementos focalizáveis. Compare a sequência de foco após selecionar uma opção nas versões listadas do Safari e do Chrome; considera-se concluído quando o foco do leitor de tela retorna ao select menu e continua pelas opções.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- TypeScript
- Estrelas
- 25k
- Forks
- 6.8k
- Merge médio
- 1d 1h
- PRs com merge (30d)
- 84
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de angular/components
-
area: material/tree docs gemini-triaged needs triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
angular/components#33832 ·
-
area: material/datepicker gemini-triaged P4
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
angular/components#33763 · 2 comentários · 3 reações ·
-
area: material/table gemini-triaged P4
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
angular/components#33709 · 1 comentário ·
-
area: material/table docs gemini-triaged P4
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
angular/components#33455 ·
-
area: material/core gemini-triaged P3
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 78/100
angular/components#33059 · 2 comentários ·
Todas as issues de angular/components
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
bcgov/bc-wallet-mobile#4761 · 1 comentário ·
-
external-issue to-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
-
area-deployment area-integrations triage:bot-seen
Dificuldade 2/5 Meio dia Facilidade para iniciantes 86/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
-
refactor
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100