bug(datepicker): VoiceOver on iOS Fails to Announce Day of Week in Angular Material Datepicker, Violating WCAG 1.3.1
- 主要言語
- TypeScript
- スター
- 25k
- フォーク
- 6.8k
- 平均マージ
- 1日 8時間
- マージ済み PR(30日)
- 91
説明
### 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.

### 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
コントリビューションガイド
調査の方向性
Angular Material datepicker の概要デモから始め、iOS の Safari で VoiceOver を使用して問題を再現します。カレンダーセルとテーブルヘッダーに対する datepicker のアクセシビリティ動作を追跡し、その後、VoiceOver が既存の行と列の情報を失わずに、選択した日付とともに曜日を読み上げることを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- angular, typescript
- 領域
- accessibility, frontend
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 42/100