angular / angular/components

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

オープン
#31,480 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
P2
主要言語
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.

![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

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Angular Material datepicker の概要デモから始め、iOS の Safari で VoiceOver を使用して問題を再現します。カレンダーセルとテーブルヘッダーに対する datepicker のアクセシビリティ動作を追跡し、その後、VoiceOver が既存の行と列の情報を失わずに、選択した日付とともに曜日を読み上げることを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
angular, typescript
領域
accessibility, frontend
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。