demo(slider): add slider a11y demos (#6230)

* demo(slider): add slider a11y demos

* add description text to each example
This commit is contained in:
mmalerba
2017-08-04 15:01:19 -07:00
committed by tinayuangao
parent f913cc992a
commit 787a8f0008
6 changed files with 86 additions and 3 deletions
+5 -2
View File
@@ -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 {}
+1
View File
@@ -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'},
];
}
+3 -1
View File
@@ -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},
];
+39
View File
@@ -0,0 +1,39 @@
<section>
<h2>Continuous slider (e.g. color component sliders)</h2>
<p>Move the red, green, and blue sliders to choose a color.</p>
<div class="demo-color-container">
<div class="demo-color-sliders">
<div>
<label class="demo-color-label" for="r-slider">Red</label>
<md-slider id="r-slider" min="0" max="255" [(ngModel)]="red"></md-slider>
</div>
<div>
<label class="demo-color-label" for="g-slider">Green</label>
<md-slider id="g-slider" min="0" max="255" [(ngModel)]="green"></md-slider>
</div>
<div>
<label class="demo-color-label" for="b-slider">Blue</label>
<md-slider id="b-slider" min="0" max="255" [(ngModel)]="blue"></md-slider>
</div>
</div>
<div class="demo-color-swatch" [style.background]="swatchBackground"></div>
</div>
</section>
<section>
<h2>Discrete slider (e.g. rate a product)</h2>
<p>Please rate our product on a scale of 1 (not satisfied) to 5 (extremely satisfied).</p>
<md-slider min="1" max="5" tickInterval="1" thumbLabel aria-label="Rating"></md-slider>
</section>
<section>
<h2>Vertical slider (e.g. volume control)</h2>
<p>Use the slider to adjust the volume.</p>
<div class="demo-volume-container">
<label for="vol-slider">
<md-icon aria-hidden>volume_up</md-icon>
<span class="cdk-visually-hidden">Volume</span>
</label>
<md-slider id="vol-slider" min="0" max="100" vertical inverted></md-slider>
</div>
</section>
+21
View File
@@ -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;
}
+17
View File
@@ -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})`;
}
}