angular / angular/components

bug(DatePicker): keyboard navgiation breaks when a screen reader is used

Abierto
#33,683 5 comentarios 0 reacciones 0 asignados Ver en GitHub
Accessibility area: material/datepicker P3
Lenguaje dominante
TypeScript
Estrellas
25k
Forks
6.8k
Merge medio
1 d 8 h
PR fusionados (30 d)
91

Descripción

### 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 you open the date picker you can easily use the arrow keys to navigate between the days of the month.
But if you use a screen reader (tested with nvda and the integrated one from windows) the arrow keys won't work properly anymore.

The reason is because the screen reader switches to browse mode instead of focus mode and catches the keyboard events. If you switch manually to the focus mode (in nvda its the nvda key + space) it works again.

### Reproduction

Just try it in one of the examples at the official site https://material.angular.dev/components/datepicker/examples
- without screen reader: keyboard navigation works
- with screen reader: keyboard navigation won't work - you have to switch manually to focus mode

### Expected Behavior

I expect the keyboard navigation to work regardless if a screen reader is active or not. It should also not be needed to manually switch to focus mode

### Actual Behavior

- without screen reader: keyboard navigation works
- with screen reader: keyboard navigation won't work - you have to switch manually to focus mode

### Environment

- Angular: 22
- CDK/Material: 22
- Browser(s): Chrome, Firefox
- Operating System: Windows 11

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con los ejemplos de datepicker en https://material.angular.dev/components/datepicker/examples y reproduce la navegación mediante el teclado en Chrome o Firefox con NVDA o el lector de pantalla de Windows. Traza cómo se gestionan los eventos de las teclas de flecha en el modo de exploración; se considera terminado cuando la navegación por los días funciona sin tener que cambiar manualmente al modo de foco, mientras la navegación sigue funcionando sin un lector de pantalla.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
angular, typescript
Área
accessibility, frontend
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
58/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.