From c6a7aaaa1584509cd4a0a480dc105fac524c52e2 Mon Sep 17 00:00:00 2001 From: Zach Arend Date: Mon, 28 Mar 2022 19:56:04 +0000 Subject: [PATCH] docs(material/datepicker): require communicating date format for a11y In the accessibility section of the datepicker documentation, require communicating the date format string (e.g. 'MM/DD/YYYY'). Update datepicker examples to show the date format string via `` and use 'en-US' as the locale. This commit only changes examples and does not affect source code. Addresses #11127 --- .../date-range-picker-comparison-example.html | 2 ++ .../date-range-picker-forms-example.html | 1 + .../date-range-picker-overview-example.html | 1 + ...nge-picker-selection-strategy-example.html | 1 + .../datepicker-actions-example.html | 2 ++ .../datepicker-api-example.html | 1 + .../datepicker-color-example.html | 2 ++ .../datepicker-custom-header-example.html | 1 + .../datepicker-custom-icon-example.html | 1 + .../datepicker-date-class-example.html | 1 + .../datepicker-disabled-example.html | 3 +++ .../datepicker-events-example.html | 1 + .../datepicker-filter-example.html | 1 + .../datepicker-formats-example.html | 1 + .../datepicker-locale-example.html | 2 +- .../datepicker-locale-example.ts | 19 ++++++++++++++++--- .../datepicker-min-max-example.html | 1 + .../datepicker-moment-example.html | 1 + .../datepicker-overview-example.html | 1 + .../datepicker-start-view-example.html | 1 + .../datepicker-touch-example.html | 1 + .../datepicker-value-example.html | 3 +++ .../datepicker-views-selection-example.html | 1 + .../material/datepicker/index.ts | 8 +++++++- src/material/datepicker/datepicker.md | 3 +++ 25 files changed, 55 insertions(+), 5 deletions(-) diff --git a/src/components-examples/material/datepicker/date-range-picker-comparison/date-range-picker-comparison-example.html b/src/components-examples/material/datepicker/date-range-picker-comparison/date-range-picker-comparison-example.html index c6f6adda28ab..3203d2965de6 100644 --- a/src/components-examples/material/datepicker/date-range-picker-comparison/date-range-picker-comparison-example.html +++ b/src/components-examples/material/datepicker/date-range-picker-comparison/date-range-picker-comparison-example.html @@ -8,6 +8,7 @@ + MM/DD/YYYY – MM/DD/YYYY @@ -23,5 +24,6 @@ + MM/DD/YYYY – MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/date-range-picker-forms/date-range-picker-forms-example.html b/src/components-examples/material/datepicker/date-range-picker-forms/date-range-picker-forms-example.html index 3eb5eab449a8..44bbc438b05a 100644 --- a/src/components-examples/material/datepicker/date-range-picker-forms/date-range-picker-forms-example.html +++ b/src/components-examples/material/datepicker/date-range-picker-forms/date-range-picker-forms-example.html @@ -4,6 +4,7 @@ + MM/DD/YYYY – MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/date-range-picker-overview/date-range-picker-overview-example.html b/src/components-examples/material/datepicker/date-range-picker-overview/date-range-picker-overview-example.html index d74c95161364..4e1be94ff692 100644 --- a/src/components-examples/material/datepicker/date-range-picker-overview/date-range-picker-overview-example.html +++ b/src/components-examples/material/datepicker/date-range-picker-overview/date-range-picker-overview-example.html @@ -4,6 +4,7 @@ + MM/DD/YYYY – MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/date-range-picker-selection-strategy/date-range-picker-selection-strategy-example.html b/src/components-examples/material/datepicker/date-range-picker-selection-strategy/date-range-picker-selection-strategy-example.html index d74c95161364..4e1be94ff692 100644 --- a/src/components-examples/material/datepicker/date-range-picker-selection-strategy/date-range-picker-selection-strategy-example.html +++ b/src/components-examples/material/datepicker/date-range-picker-selection-strategy/date-range-picker-selection-strategy-example.html @@ -4,6 +4,7 @@ + MM/DD/YYYY – MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/datepicker-actions/datepicker-actions-example.html b/src/components-examples/material/datepicker/datepicker-actions/datepicker-actions-example.html index e536b2a4bd89..5bfc980e4a58 100644 --- a/src/components-examples/material/datepicker/datepicker-actions/datepicker-actions-example.html +++ b/src/components-examples/material/datepicker/datepicker-actions/datepicker-actions-example.html @@ -1,6 +1,7 @@ Choose a date + MM/DD/YYYY @@ -18,6 +19,7 @@ + MM/DD/YYYY – MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/datepicker-api/datepicker-api-example.html b/src/components-examples/material/datepicker/datepicker-api/datepicker-api-example.html index 8f076eb5a474..96cc5bc0d928 100644 --- a/src/components-examples/material/datepicker/datepicker-api/datepicker-api-example.html +++ b/src/components-examples/material/datepicker/datepicker-api/datepicker-api-example.html @@ -1,6 +1,7 @@ Choose a date + MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/datepicker-color/datepicker-color-example.html b/src/components-examples/material/datepicker/datepicker-color/datepicker-color-example.html index ba5dc7b98154..a73c4d3e190a 100644 --- a/src/components-examples/material/datepicker/datepicker-color/datepicker-color-example.html +++ b/src/components-examples/material/datepicker/datepicker-color/datepicker-color-example.html @@ -1,6 +1,7 @@ Inherited calendar color + MM/DD/YYYY @@ -8,6 +9,7 @@ Custom calendar color + MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/datepicker-custom-header/datepicker-custom-header-example.html b/src/components-examples/material/datepicker/datepicker-custom-header/datepicker-custom-header-example.html index 2031646fdb8a..b09066b3a38f 100644 --- a/src/components-examples/material/datepicker/datepicker-custom-header/datepicker-custom-header-example.html +++ b/src/components-examples/material/datepicker/datepicker-custom-header/datepicker-custom-header-example.html @@ -1,6 +1,7 @@ Custom calendar header + MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/datepicker-custom-icon/datepicker-custom-icon-example.html b/src/components-examples/material/datepicker/datepicker-custom-icon/datepicker-custom-icon-example.html index 3003f3671856..b52a00fcf631 100644 --- a/src/components-examples/material/datepicker/datepicker-custom-icon/datepicker-custom-icon-example.html +++ b/src/components-examples/material/datepicker/datepicker-custom-icon/datepicker-custom-icon-example.html @@ -1,6 +1,7 @@ Choose a date + MM/DD/YYYY keyboard_arrow_down diff --git a/src/components-examples/material/datepicker/datepicker-date-class/datepicker-date-class-example.html b/src/components-examples/material/datepicker/datepicker-date-class/datepicker-date-class-example.html index b4406d995230..cce3c818d6d2 100644 --- a/src/components-examples/material/datepicker/datepicker-date-class/datepicker-date-class-example.html +++ b/src/components-examples/material/datepicker/datepicker-date-class/datepicker-date-class-example.html @@ -1,6 +1,7 @@ Choose a date + MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/datepicker-disabled/datepicker-disabled-example.html b/src/components-examples/material/datepicker/datepicker-disabled/datepicker-disabled-example.html index cc5b04276aa2..855adc1311e0 100644 --- a/src/components-examples/material/datepicker/datepicker-disabled/datepicker-disabled-example.html +++ b/src/components-examples/material/datepicker/datepicker-disabled/datepicker-disabled-example.html @@ -2,6 +2,7 @@ Completely disabled + MM/DD/YYYY @@ -11,6 +12,7 @@ Popup disabled + MM/DD/YYYY @@ -20,6 +22,7 @@ Input disabled + MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/datepicker-events/datepicker-events-example.html b/src/components-examples/material/datepicker/datepicker-events/datepicker-events-example.html index c1827726477e..d81a789f3b26 100644 --- a/src/components-examples/material/datepicker/datepicker-events/datepicker-events-example.html +++ b/src/components-examples/material/datepicker/datepicker-events/datepicker-events-example.html @@ -2,6 +2,7 @@ Input & change events + MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/datepicker-filter/datepicker-filter-example.html b/src/components-examples/material/datepicker/datepicker-filter/datepicker-filter-example.html index da52910c44b9..5eb224d819bd 100644 --- a/src/components-examples/material/datepicker/datepicker-filter/datepicker-filter-example.html +++ b/src/components-examples/material/datepicker/datepicker-filter/datepicker-filter-example.html @@ -1,6 +1,7 @@ Choose a date + MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/datepicker-formats/datepicker-formats-example.html b/src/components-examples/material/datepicker/datepicker-formats/datepicker-formats-example.html index 50d9fab91d51..0abd101c0d49 100644 --- a/src/components-examples/material/datepicker/datepicker-formats/datepicker-formats-example.html +++ b/src/components-examples/material/datepicker/datepicker-formats/datepicker-formats-example.html @@ -1,6 +1,7 @@ Verbose datepicker + MMMM DD, YYYY diff --git a/src/components-examples/material/datepicker/datepicker-locale/datepicker-locale-example.html b/src/components-examples/material/datepicker/datepicker-locale/datepicker-locale-example.html index 1af16b36a861..c6c0c3ed5a03 100644 --- a/src/components-examples/material/datepicker/datepicker-locale/datepicker-locale-example.html +++ b/src/components-examples/material/datepicker/datepicker-locale/datepicker-locale-example.html @@ -1,8 +1,8 @@ Different locale + {{getDateFormatString()}} - diff --git a/src/components-examples/material/datepicker/datepicker-locale/datepicker-locale-example.ts b/src/components-examples/material/datepicker/datepicker-locale/datepicker-locale-example.ts index e862b95210ad..155d94a437e7 100644 --- a/src/components-examples/material/datepicker/datepicker-locale/datepicker-locale-example.ts +++ b/src/components-examples/material/datepicker/datepicker-locale/datepicker-locale-example.ts @@ -1,4 +1,4 @@ -import {Component} from '@angular/core'; +import {Component, Inject} from '@angular/core'; import { MAT_MOMENT_DATE_FORMATS, MomentDateAdapter, @@ -30,9 +30,22 @@ import 'moment/locale/fr'; ], }) export class DatepickerLocaleExample { - constructor(private _adapter: DateAdapter) {} + constructor( + private _adapter: DateAdapter, + @Inject(MAT_DATE_LOCALE) private _locale: string, + ) {} french() { - this._adapter.setLocale('fr'); + this._locale = 'fr'; + this._adapter.setLocale(this._locale); + } + + getDateFormatString(): string { + if (this._locale === 'ja-JP') { + return 'YYYY/MM/DD'; + } else if (this._locale === 'fr') { + return 'DD/MM/YYYY'; + } + return ''; } } diff --git a/src/components-examples/material/datepicker/datepicker-min-max/datepicker-min-max-example.html b/src/components-examples/material/datepicker/datepicker-min-max/datepicker-min-max-example.html index b79bc61cb448..df9593d65b88 100644 --- a/src/components-examples/material/datepicker/datepicker-min-max/datepicker-min-max-example.html +++ b/src/components-examples/material/datepicker/datepicker-min-max/datepicker-min-max-example.html @@ -1,6 +1,7 @@ Choose a date + MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/datepicker-moment/datepicker-moment-example.html b/src/components-examples/material/datepicker/datepicker-moment/datepicker-moment-example.html index 372811336cc6..a46c9c8bc7ea 100644 --- a/src/components-examples/material/datepicker/datepicker-moment/datepicker-moment-example.html +++ b/src/components-examples/material/datepicker/datepicker-moment/datepicker-moment-example.html @@ -1,6 +1,7 @@ Moment.js datepicker + MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/datepicker-overview/datepicker-overview-example.html b/src/components-examples/material/datepicker/datepicker-overview/datepicker-overview-example.html index ddf98afc504b..6e07a096bce8 100644 --- a/src/components-examples/material/datepicker/datepicker-overview/datepicker-overview-example.html +++ b/src/components-examples/material/datepicker/datepicker-overview/datepicker-overview-example.html @@ -2,6 +2,7 @@ Choose a date + MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/datepicker-start-view/datepicker-start-view-example.html b/src/components-examples/material/datepicker/datepicker-start-view/datepicker-start-view-example.html index 0ff5960d067a..928a46b13998 100644 --- a/src/components-examples/material/datepicker/datepicker-start-view/datepicker-start-view-example.html +++ b/src/components-examples/material/datepicker/datepicker-start-view/datepicker-start-view-example.html @@ -1,6 +1,7 @@ Choose a date + MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/datepicker-touch/datepicker-touch-example.html b/src/components-examples/material/datepicker/datepicker-touch/datepicker-touch-example.html index 46479024f39e..8a1662ea7fee 100644 --- a/src/components-examples/material/datepicker/datepicker-touch/datepicker-touch-example.html +++ b/src/components-examples/material/datepicker/datepicker-touch/datepicker-touch-example.html @@ -1,6 +1,7 @@ Choose a date + MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/datepicker-value/datepicker-value-example.html b/src/components-examples/material/datepicker/datepicker-value/datepicker-value-example.html index d905912de51b..f2cd70a3d0be 100644 --- a/src/components-examples/material/datepicker/datepicker-value/datepicker-value-example.html +++ b/src/components-examples/material/datepicker/datepicker-value/datepicker-value-example.html @@ -1,6 +1,7 @@ Angular forms + MM/DD/YYYY @@ -9,6 +10,7 @@ Angular forms (w/ deserialization) + MM/DD/YYYY @@ -16,6 +18,7 @@ Value binding + MM/DD/YYYY diff --git a/src/components-examples/material/datepicker/datepicker-views-selection/datepicker-views-selection-example.html b/src/components-examples/material/datepicker/datepicker-views-selection/datepicker-views-selection-example.html index 1e72b7504430..5c00f83f5271 100644 --- a/src/components-examples/material/datepicker/datepicker-views-selection/datepicker-views-selection-example.html +++ b/src/components-examples/material/datepicker/datepicker-views-selection/datepicker-views-selection-example.html @@ -1,6 +1,7 @@ Month and Year + MM/YYYY ` will match the format used by + // `NativeDateModule`. + {provide: MAT_DATE_LOCALE, useValue: 'en-US'}, + ], }) export class DatepickerExamplesModule {} diff --git a/src/material/datepicker/datepicker.md b/src/material/datepicker/datepicker.md index 19c8bbc3d801..3811f1f978fd 100644 --- a/src/material/datepicker/datepicker.md +++ b/src/material/datepicker/datepicker.md @@ -588,6 +588,9 @@ attribute to the native input and button elements, respectively. the datepicker text input a meaningful label via ``, `aria-label`, `aria-labelledby` or `MatDatepickerIntl`. +Always communicate the date format (e.g. 'MM/DD/YYYY'). This can be accomplished using `` +or by providing an additional label adjacent to the form field. + `MatDatepickerInput` adds >Alt + Down Arrow as a keyboard short to open the datepicker pop-up. However, ChromeOS intercepts this key combination at the OS level such that the browser only receives a `PageDown` key event. Because of this behavior, you should always include an