angular / angular/components

bug(datepicker): VoiceOver on iOS Fails to Announce Day of Week in Angular Material Datepicker, Violating WCAG 1.3.1

Ouverte
#31,480 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
P2
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

The Angular Material Datepicker does not announce the day of the week (which is present in the table header) when using VoiceOver on iOS. Currently, VoiceOver reads the selected date as “July 3rd, 2025, row X, column X,” but omits the associated day of the week.

This behavior does not meet [WCAG 2.1 Success Criterion 1.3.1: Info and Relationships (Level A)](https://www.w3.org/WAI/WCAG21/Understanding/info-and-relationships.html), as the relationship between the date and its corresponding day of the week is not conveyed to assistive technologies.

### Reproduction

Steps to Reproduce

1. Enable VoiceOver via Settings > Accessibility > VoiceOver
2. Open Safari on an iOS device.
3. Navigate to the Angular Material Datepicker demo page:https://material.angular.dev/components/datepicker/overview
4. Open the datepicker by selecting any of the date input fields.
5. Use VoiceOver to navigate through the calendar and select a date.
6. The VoiceOver does not read the Day of the Week.

![Image](https://github.com/user-attachments/assets/a2238c7b-40e8-4956-b879-486c1616ad32)

### Expected Behavior

VoiceOver should announce the full date, including the day of the week.

### Actual Behavior

VoiceOver only reads the date and position (e.g., "July 3rd, 2025, row X, column X") but does not announce the day of the week, which is visually present in the table header.

### Environment

- Angular: 18, 20
- CDK/Material: 18, 20
- Browser(s): Safari
- Operating System (e.g. Windows, macOS, Ubuntu): iOS

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par la démo de présentation du datepicker Angular Material et reproduisez le problème avec VoiceOver dans Safari sur iOS. Suivez le comportement d’accessibilité du datepicker pour les cellules du calendrier et les en-têtes de tableau, puis vérifiez que VoiceOver annonce le jour de la semaine avec la date sélectionnée sans perdre les informations existantes sur la ligne et la colonne.

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é
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

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