Skip to content

Commit 7a6549f

Browse files
authored
fix(material/datepicker): remove abbr from day of week header (#24106)
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
1 parent cff93c8 commit 7a6549f

File tree

2 files changed

+1
-7
lines changed

2 files changed

+1
-7
lines changed

src/material/datepicker/calendar.scss

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,3 @@ $calendar-next-icon-transform: translateX(-2px) rotate(45deg);
125125
}
126126
}
127127

128-
.mat-calendar-abbr {
129-
text-decoration: none;
130-
}

src/material/datepicker/month-view.html

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
<table class="mat-calendar-table" role="grid">
22
<thead class="mat-calendar-table-header">
33
<tr>
4-
<!-- For the day-of-the-week column header, we use an `<abbr>` element because VoiceOver
5-
ignores the `aria-label`. ChromeVox, however, does not read the full name
6-
for the `<abbr>`, so we still set `aria-label` on the header element. -->
74
<th scope="col" *ngFor="let day of _weekdays" [attr.aria-label]="day.long">
8-
<abbr class="mat-calendar-abbr" [attr.title]="day.long">{{day.narrow}}</abbr>
5+
{{day.narrow}}
96
</th>
107
</tr>
118
<tr><th aria-hidden="true" class="mat-calendar-table-header-divider" colspan="7"></th></tr>

0 commit comments

Comments
 (0)