diff --git a/src/demo-app/a11y/a11y-module.ts b/src/demo-app/a11y/a11y-module.ts index 4f7e455a8bd..4df81e7693f 100644 --- a/src/demo-app/a11y/a11y-module.ts +++ b/src/demo-app/a11y/a11y-module.ts @@ -5,6 +5,7 @@ import {RouterModule} from '@angular/router'; import {ACCESSIBILITY_DEMO_ROUTES} from './routes'; import {DemoMaterialModule} from '../demo-material-module'; import {AccessibilityDemo, AccessibilityHome} from './a11y'; +import {AutocompleteAccessibilityDemo} from './autocomplete/autocomplete-a11y'; import {ButtonAccessibilityDemo} from './button/button-a11y'; import {ButtonToggleAccessibilityDemo} from './button-toggle/button-toggle-a11y'; import {CheckboxAccessibilityDemo} from './checkbox/checkbox-a11y'; @@ -13,7 +14,8 @@ import {GridListAccessibilityDemo} from './grid-list/grid-list-a11y'; import {RadioAccessibilityDemo} from './radio/radio-a11y'; import {DatepickerAccessibilityDemo} from './datepicker/datepicker-a11y'; import {InputAccessibilityDemo} from './input/input-a11y'; -import {AutocompleteAccessibilityDemo} from './autocomplete/autocomplete-a11y'; +import {SliderAccessibilityDemo} from './slider/slider-a11y'; + @NgModule({ imports: [ @@ -36,6 +38,7 @@ export class AccessibilityRoutingModule {} declarations: [ AccessibilityDemo, AccessibilityHome, + AutocompleteAccessibilityDemo, ButtonAccessibilityDemo, ButtonToggleAccessibilityDemo, CheckboxAccessibilityDemo, @@ -44,7 +47,7 @@ export class AccessibilityRoutingModule {} GridListAccessibilityDemo, InputAccessibilityDemo, RadioAccessibilityDemo, - AutocompleteAccessibilityDemo, + SliderAccessibilityDemo, ] }) export class AccessibilityDemoModule {} diff --git a/src/demo-app/a11y/a11y.ts b/src/demo-app/a11y/a11y.ts index 233e4c9be63..3d5eb527b80 100644 --- a/src/demo-app/a11y/a11y.ts +++ b/src/demo-app/a11y/a11y.ts @@ -26,5 +26,6 @@ export class AccessibilityDemo { {name: 'Grid list', route: 'grid-list'}, {name: 'Input', route: 'input'}, {name: 'Radio buttons', route: 'radio'}, + {name: 'Slider', route: 'slider'}, ]; } diff --git a/src/demo-app/a11y/routes.ts b/src/demo-app/a11y/routes.ts index c6519f97c10..b8bdc293fca 100644 --- a/src/demo-app/a11y/routes.ts +++ b/src/demo-app/a11y/routes.ts @@ -1,4 +1,5 @@ import {Routes} from '@angular/router'; +import {AutocompleteAccessibilityDemo} from './autocomplete/autocomplete-a11y'; import {ButtonAccessibilityDemo} from './button/button-a11y'; import {ButtonToggleAccessibilityDemo} from './button-toggle/button-toggle-a11y'; import {CheckboxAccessibilityDemo} from './checkbox/checkbox-a11y'; @@ -8,7 +9,7 @@ import {RadioAccessibilityDemo} from './radio/radio-a11y'; import {AccessibilityHome} from './a11y'; import {DatepickerAccessibilityDemo} from './datepicker/datepicker-a11y'; import {InputAccessibilityDemo} from './input/input-a11y'; -import {AutocompleteAccessibilityDemo} from './autocomplete/autocomplete-a11y'; +import {SliderAccessibilityDemo} from './slider/slider-a11y'; export const ACCESSIBILITY_DEMO_ROUTES: Routes = [ {path: '', component: AccessibilityHome}, @@ -21,4 +22,5 @@ export const ACCESSIBILITY_DEMO_ROUTES: Routes = [ {path: 'grid-list', component: GridListAccessibilityDemo}, {path: 'input', component: InputAccessibilityDemo}, {path: 'radio', component: RadioAccessibilityDemo}, + {path: 'slider', component: SliderAccessibilityDemo}, ]; diff --git a/src/demo-app/a11y/slider/slider-a11y.html b/src/demo-app/a11y/slider/slider-a11y.html new file mode 100644 index 00000000000..b4d31868b51 --- /dev/null +++ b/src/demo-app/a11y/slider/slider-a11y.html @@ -0,0 +1,39 @@ +
+

Continuous slider (e.g. color component sliders)

+

Move the red, green, and blue sliders to choose a color.

+
+
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+ +
+

Discrete slider (e.g. rate a product)

+

Please rate our product on a scale of 1 (not satisfied) to 5 (extremely satisfied).

+ +
+ +
+

Vertical slider (e.g. volume control)

+

Use the slider to adjust the volume.

+
+ + +
+
diff --git a/src/demo-app/a11y/slider/slider-a11y.scss b/src/demo-app/a11y/slider/slider-a11y.scss new file mode 100644 index 00000000000..222510c5b5c --- /dev/null +++ b/src/demo-app/a11y/slider/slider-a11y.scss @@ -0,0 +1,21 @@ +.demo-color-container { + display: flex; + align-items: center; +} + +.demo-color-label { + display: inline-block; + width: 50px; +} + +.demo-color-swatch { + width: 60px; + height: 60px; + margin-left: 60px; +} + +.demo-volume-container { + display: inline-flex; + flex-direction: column; + align-items: center; +} diff --git a/src/demo-app/a11y/slider/slider-a11y.ts b/src/demo-app/a11y/slider/slider-a11y.ts new file mode 100644 index 00000000000..2ab15ff5e0c --- /dev/null +++ b/src/demo-app/a11y/slider/slider-a11y.ts @@ -0,0 +1,17 @@ +import {Component} from '@angular/core'; + +@Component({ + moduleId: module.id, + selector: 'slider-a11y', + templateUrl: 'slider-a11y.html', + styleUrls: ['slider-a11y.css'], +}) +export class SliderAccessibilityDemo { + red = 0; + green = 0; + blue = 0; + + get swatchBackground() { + return `rgb(${this.red}, ${this.green}, ${this.blue})`; + } +}