-
Notifications
You must be signed in to change notification settings - Fork 6.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bug(datepicker): Redundant announcement of header row cell values #23477
Comments
from @jelbourn This is likely due to a workaround employed to make ChromeVox and VoiceOver both happy. The HTML looks like this: <!-- For the day-of-the-week column header, we use an `<abbr>` element because VoiceOver
ignores the `aria-label`. ChromeVox, however, does not read the full name
for the `<abbr>`, so we still set `aria-label` on the header element. -->
<th scope="col" *ngFor="let day of _weekdays" [attr.aria-label]="day.long">
<abbr class="mat-calendar-abbr" [attr.title]="day.long">{{day.narrow}}</abbr>
</th> The duplicate announcement is probably coming from the combined aria-label on the th and the element inside. One solution to try here would be something like <th scope="col" *ngFor="let day of _weekdays">
<span class="cdk-visually-hidden">{{day.long}}</span>
<span aria-hidden="true">{{day.narrow}}</span>
</th> |
Removes the `abbr` tag that is nested inside the cells of the day of the week header. This is to fix angular#23477 where VoiceOver reads day of week three times: 'Sunday, Sunday, Sunday...' I tested this change on VoiceOverAfter this change and sometimes it read the day of week twice and sometimes it read it once. When navigating from a day on the calendar to the header it reads: "row 1 of 7 Sunday S". When navigating from Sunday to Monday, it reads "Monday Monday M Column 2 of 7". Tested on macos 12.0.1 (21A559) with chrome Version 96.0.4664.110 (Official Build) (x86_64). I'll leave this as a draft until I can at least test it on other screenreaders. fixes angular#23477
Removes the `abbr` tag that is nested inside the cells of the day of the week header. This is to fix angular#23477 where VoiceOver reads day of week three times: 'Sunday, Sunday, Sunday...' I tested this change on VoiceOverAfter this change and sometimes it read the day of week twice and sometimes it read it once. When navigating from a day on the calendar to the header it reads: "row 1 of 7 Sunday S". When navigating from Sunday to Monday, it reads "Monday Monday M Column 2 of 7". Tested on macos 12.0.1 (21A559) with chrome Version 96.0.4664.110 (Official Build) (x86_64). I'll leave this as a draft until I can at least test it on other screenreaders. fixes angular#23477
Removes the `abbr` tag that is nested inside the cells of the day of the week header. This is to fix angular#23477 where VoiceOver reads day of week three times: 'Sunday, Sunday, Sunday...' I tested this change on VoiceOverAfter this change and sometimes it read the day of week twice and sometimes it read it once. When navigating from a day on the calendar to the header it reads: "row 1 of 7 Sunday S". When navigating from Sunday to Monday, it reads "Monday Monday M Column 2 of 7". Tested on macos 12.0.1 (21A559) with chrome Version 96.0.4664.110 (Official Build) (x86_64). I'll leave this as a draft until I can at least test it on other screenreaders. fixes angular#23477
Removes the `abbr` tag that is nested inside the cells of the day of the week header. This is to fix angular#23477 where VoiceOver reads day of week three times: 'Sunday, Sunday, Sunday...' I tested this change on VoiceOverAfter this change and sometimes it read the day of week twice and sometimes it read it once. When navigating from a day on the calendar to the header it reads: "row 1 of 7 Sunday S". When navigating from Sunday to Monday, it reads "Monday Monday M Column 2 of 7". Tested on macos 12.0.1 (21A559) with chrome Version 96.0.4664.110 (Official Build) (x86_64). I'll leave this as a draft until I can at least test it on other screenreaders. fixes angular#23477
Removes the `abbr` tag that is nested inside the cells of the day of the week header. This is to fix angular#23477 where VoiceOver reads day of week three times: 'Sunday, Sunday, Sunday...' I tested this change on VoiceOverAfter this change and sometimes it read the day of week twice and sometimes it read it once. When navigating from a day on the calendar to the header it reads: "row 1 of 7 Sunday S". When navigating from Sunday to Monday, it reads "Monday Monday M Column 2 of 7". Tested on macos 12.0.1 (21A559) with chrome Version 96.0.4664.110 (Official Build) (x86_64). I'll leave this as a draft until I can at least test it on other screenreaders. fixes angular#23477
Removes the `abbr` tag that is nested inside the cells of the day of the week header. This is to fix #23477 where VoiceOver reads day of week three times: 'Sunday, Sunday, Sunday...' I tested this change on VoiceOverAfter this change and sometimes it read the day of week twice and sometimes it read it once. When navigating from a day on the calendar to the header it reads: "row 1 of 7 Sunday S". When navigating from Sunday to Monday, it reads "Monday Monday M Column 2 of 7". Tested on macos 12.0.1 (21A559) with chrome Version 96.0.4664.110 (Official Build) (x86_64). I'll leave this as a draft until I can at least test it on other screenreaders. fixes #23477 (cherry picked from commit 7a6549f)
Removes the `abbr` tag that is nested inside the cells of the day of the week header. This is to fix #23477 where VoiceOver reads day of week three times: 'Sunday, Sunday, Sunday...' I tested this change on VoiceOverAfter this change and sometimes it read the day of week twice and sometimes it read it once. When navigating from a day on the calendar to the header it reads: "row 1 of 7 Sunday S". When navigating from Sunday to Monday, it reads "Monday Monday M Column 2 of 7". Tested on macos 12.0.1 (21A559) with chrome Version 96.0.4664.110 (Official Build) (x86_64). I'll leave this as a draft until I can at least test it on other screenreaders. fixes #23477
…r#24106) Removes the `abbr` tag that is nested inside the cells of the day of the week header. This is to fix angular#23477 where VoiceOver reads day of week three times: 'Sunday, Sunday, Sunday...' I tested this change on VoiceOverAfter this change and sometimes it read the day of week twice and sometimes it read it once. When navigating from a day on the calendar to the header it reads: "row 1 of 7 Sunday S". When navigating from Sunday to Monday, it reads "Monday Monday M Column 2 of 7". Tested on macos 12.0.1 (21A559) with chrome Version 96.0.4664.110 (Official Build) (x86_64). I'll leave this as a draft until I can at least test it on other screenreaders. fixes angular#23477
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
…r#24106) Removes the `abbr` tag that is nested inside the cells of the day of the week header. This is to fix angular#23477 where VoiceOver reads day of week three times: 'Sunday, Sunday, Sunday...' I tested this change on VoiceOverAfter this change and sometimes it read the day of week twice and sometimes it read it once. When navigating from a day on the calendar to the header it reads: "row 1 of 7 Sunday S". When navigating from Sunday to Monday, it reads "Monday Monday M Column 2 of 7". Tested on macos 12.0.1 (21A559) with chrome Version 96.0.4664.110 (Official Build) (x86_64). I'll leave this as a draft until I can at least test it on other screenreaders. fixes angular#23477
Reproduction
Steps to reproduce:
Expected Behavior
It should not announce the week name thrice
Actual Behavior
It is announcing the week name twice/thrice. For example, it is announcing as "Monday, Monday, Monday, group, column 2 of 7"
Environment
OS| Browser | Screen reader
ChromeOS | Google Chrome 91.0.4472.167 | ChromeVox
Windows 10 | Google Chrome 92.0.4515.131 | NVDA/JAWS
macOS Catalina | Google Chrome 92.0.4515.131 | VoiceOver
Windows 10 | Firefox 90.0.2 (64-bit) | NVDA
Additional Notes
This is copied from an internal bug report found during a11y testing.
The text was updated successfully, but these errors were encountered: