diff --git a/src/demo-app/a11y/a11y-module.ts b/src/demo-app/a11y/a11y-module.ts index e064ce5d856..396ef39b10d 100644 --- a/src/demo-app/a11y/a11y-module.ts +++ b/src/demo-app/a11y/a11y-module.ts @@ -10,6 +10,7 @@ import {ButtonToggleAccessibilityDemo} from './button-toggle/button-toggle-a11y' import {CheckboxAccessibilityDemo} from './checkbox/checkbox-a11y'; import {ChipsAccessibilityDemo} from './chips/chips-a11y'; import {RadioAccessibilityDemo} from './radio/radio-a11y'; +import {DatepickerAccessibilityDemo} from './datepicker/datepicker-a11y'; @NgModule({ imports: [ @@ -23,12 +24,8 @@ export class AccessibilityRoutingModule {} @NgModule({ imports: [ - CommonModule, - FormsModule, - ReactiveFormsModule, AccessibilityRoutingModule, - FormsModule, - ReactiveFormsModule, + CommonModule, DemoMaterialModule, FormsModule, ReactiveFormsModule, @@ -40,6 +37,7 @@ export class AccessibilityRoutingModule {} ButtonToggleAccessibilityDemo, CheckboxAccessibilityDemo, ChipsAccessibilityDemo, + DatepickerAccessibilityDemo, RadioAccessibilityDemo, ] }) diff --git a/src/demo-app/a11y/a11y.ts b/src/demo-app/a11y/a11y.ts index 78c458f4b23..6b97c2b84dc 100644 --- a/src/demo-app/a11y/a11y.ts +++ b/src/demo-app/a11y/a11y.ts @@ -21,6 +21,7 @@ export class AccessibilityDemo { {name: 'Button toggle', route: 'button-toggle'}, {name: 'Checkbox', route: 'checkbox'}, {name: 'Chips', route: 'chips'}, + {name: 'Datepicker', route: 'datepicker'}, {name: 'Radio buttons', route: 'radio'}, ]; } diff --git a/src/demo-app/a11y/datepicker/datepicker-a11y.html b/src/demo-app/a11y/datepicker/datepicker-a11y.html new file mode 100644 index 00000000000..40a4936114e --- /dev/null +++ b/src/demo-app/a11y/datepicker/datepicker-a11y.html @@ -0,0 +1,112 @@ +
+

Choose a date (e.g. choose your date of birth)

+ + + + + Please choose a date. + + + Please choose an earlier date. + + + +
+ +
+

Choose a date with touch UI (e.g. choose a payment date on mobile)

+

When would you like to schedule your payment?

+ + + + + Please choose a date. + + + Please choose a later date. + + + +
+ +
+

Choose date with startAt, min and max (e.g. schedule a departing and returning flight)

+ + + + + Please choose a date. + + + Please choose a later date. + + + Please choose an earlier date. + + + + + + + + Please choose a later date. + + + Please choose a date after your departure. + + + Please choose an earlier date. + + + +
+ +
+

Choose date with date filter (e.g. schedule a doctor appointment)

+ + + + + Please choose a date. + + + No appointments available on this date. + + + +
diff --git a/src/demo-app/a11y/datepicker/datepicker-a11y.scss b/src/demo-app/a11y/datepicker/datepicker-a11y.scss new file mode 100644 index 00000000000..5c3e663a9d4 --- /dev/null +++ b/src/demo-app/a11y/datepicker/datepicker-a11y.scss @@ -0,0 +1,3 @@ +.mat-input-container { + width: 250px; +} diff --git a/src/demo-app/a11y/datepicker/datepicker-a11y.ts b/src/demo-app/a11y/datepicker/datepicker-a11y.ts new file mode 100644 index 00000000000..718aecf5455 --- /dev/null +++ b/src/demo-app/a11y/datepicker/datepicker-a11y.ts @@ -0,0 +1,26 @@ +import {Component} from '@angular/core'; + +@Component({ + moduleId: module.id, + selector: 'datepicker-a11y', + templateUrl: 'datepicker-a11y.html', + styleUrls: ['datepicker-a11y.css'], +}) +export class DatepickerAccessibilityDemo { + birthday: Date; + maxBirthday = new Date(); + + paymentDate = new Date(Date.now() + 48 * 60 * 60 * 1000); + minPaymentDate = new Date(Date.now() + 48 * 60 * 60 * 1000); + + departDate: Date; + returnDate: Date; + minTripDate = new Date(); + maxTripDate = new Date(Date.now() + 365 * 24 * 60 * 60 * 1000); + startTripDate = new Date(Date.now() + 31 * 24 * 60 * 60 * 1000); + + appointmentDate: Date; + minAppointmentDate = new Date(); + maxAppointmentDate = new Date(Date.now() + 365 * 24 * 60 * 60 * 1000); + weekdaysOnly = (d: Date) => d.getDay() != 0 && d.getDay() != 6; +} diff --git a/src/demo-app/a11y/routes.ts b/src/demo-app/a11y/routes.ts index e8c21ca95c0..0e9e877fb66 100644 --- a/src/demo-app/a11y/routes.ts +++ b/src/demo-app/a11y/routes.ts @@ -5,6 +5,7 @@ import {CheckboxAccessibilityDemo} from './checkbox/checkbox-a11y'; import {ChipsAccessibilityDemo} from './chips/chips-a11y'; import {RadioAccessibilityDemo} from './radio/radio-a11y'; import {AccessibilityHome} from './a11y'; +import {DatepickerAccessibilityDemo} from './datepicker/datepicker-a11y'; export const ACCESSIBILITY_DEMO_ROUTES: Routes = [ {path: '', component: AccessibilityHome}, @@ -12,5 +13,6 @@ export const ACCESSIBILITY_DEMO_ROUTES: Routes = [ {path: 'button-toggle', component: ButtonToggleAccessibilityDemo}, {path: 'checkbox', component: CheckboxAccessibilityDemo}, {path: 'chips', component: ChipsAccessibilityDemo}, + {path: 'datepicker', component: DatepickerAccessibilityDemo}, {path: 'radio', component: RadioAccessibilityDemo}, ];