a11y(button-toggle): Add accessibility demo page for button toggle (#5948)

* Add accessibility page for button toggle

* Add role group. Add labels for button toggle groups
This commit is contained in:
tinayuangao
2017-07-31 11:12:40 -07:00
committed by GitHub
parent 1ab4b7e8ea
commit bf2336d51f
7 changed files with 89 additions and 1 deletions
+4
View File
@@ -6,6 +6,7 @@ import {ACCESSIBILITY_DEMO_ROUTES} from './routes';
import {DemoMaterialModule} from '../demo-material-module';
import {AccessibilityHome, AccessibilityDemo} from './a11y';
import {ButtonAccessibilityDemo} from './button/button-a11y';
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';
@@ -26,6 +27,8 @@ export class AccessibilityRoutingModule {}
FormsModule,
ReactiveFormsModule,
AccessibilityRoutingModule,
FormsModule,
ReactiveFormsModule,
DemoMaterialModule,
FormsModule,
ReactiveFormsModule,
@@ -34,6 +37,7 @@ export class AccessibilityRoutingModule {}
AccessibilityDemo,
AccessibilityHome,
ButtonAccessibilityDemo,
ButtonToggleAccessibilityDemo,
CheckboxAccessibilityDemo,
ChipsAccessibilityDemo,
RadioAccessibilityDemo,
+1
View File
@@ -18,6 +18,7 @@ export class AccessibilityDemo {
navItems = [
{name: 'Home', route: '.'},
{name: 'Button', route: 'button'},
{name: 'Button toggle', route: 'button-toggle'},
{name: 'Checkbox', route: 'checkbox'},
{name: 'Chips', route: 'chips'},
{name: 'Radio buttons', route: 'radio'},
@@ -0,0 +1,62 @@
<section>
<h2>Single button toggle</h2>
<md-button-toggle>Yes</md-button-toggle>
</section>
<section>
<h2>Button toggles with icons</h2>
<md-button-toggle-group name="alignment" aria-label="Alignments">
<md-button-toggle value="left" aria-label="Align left">
<md-icon>format_align_left</md-icon>
</md-button-toggle>
<md-button-toggle value="center" aria-label="Align center">
<md-icon>format_align_center</md-icon>
</md-button-toggle>
<md-button-toggle value="right" aria-label="Align right">
<md-icon>format_align_right</md-icon>
</md-button-toggle>
<md-button-toggle value="justify" aria-label="Align justify">
<md-icon>format_align_justify</md-icon>
</md-button-toggle>
</md-button-toggle-group>
</section>
<section>
<h2>Multi-selection button toggle group</h2>
<md-button-toggle-group multiple aria-label="Groceries">
<md-button-toggle>Flour</md-button-toggle>
<md-button-toggle>Eggs</md-button-toggle>
<md-button-toggle>Sugar</md-button-toggle>
<md-button-toggle>Milk</md-button-toggle>
</md-button-toggle-group>
</section>
<section>
<h2>Exclusive selection button toggle group</h2>
<md-button-toggle-group name="pies" [(ngModel)]="favoritePie" aria-label="Pies">
<md-button-toggle *ngFor="let pie of pieOptions" [value]="pie">
{{pie}}
</md-button-toggle>
</md-button-toggle-group>
<p>Your favorite type of pie is: {{favoritePie}}</p>
</section>
<section>
<h2>Disabled button toggle group</h2>
<md-button-toggle-group [disabled]="true" aria-label="Groceries">
<md-button-toggle>Flour</md-button-toggle>
<md-button-toggle>Eggs</md-button-toggle>
<md-button-toggle>Sugar</md-button-toggle>
<md-button-toggle>Milk</md-button-toggle>
</md-button-toggle-group>
</section>
<section>
<h2>Vertical button toggle group</h2>
<md-button-toggle-group multiple [vertical]="true" aria-label="Groceries">
<md-button-toggle>Flour</md-button-toggle>
<md-button-toggle>Eggs</md-button-toggle>
<md-button-toggle>Sugar</md-button-toggle>
<md-button-toggle>Milk</md-button-toggle>
</md-button-toggle-group>
</section>
@@ -0,0 +1,18 @@
import {Component} from '@angular/core';
@Component({
moduleId: module.id,
selector: 'button-toggle-a11y',
templateUrl: 'button-toggle-a11y.html',
styleUrls: ['button-toggle-a11y.css'],
})
export class ButtonToggleAccessibilityDemo {
favoritePie = 'Apple';
pieOptions = [
'Apple',
'Cherry',
'Pecan',
'Lemon',
];
}
+2
View File
@@ -1,5 +1,6 @@
import {Routes} from '@angular/router';
import {ButtonAccessibilityDemo} from './button/button-a11y';
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';
@@ -8,6 +9,7 @@ import {AccessibilityHome} from './a11y';
export const ACCESSIBILITY_DEMO_ROUTES: Routes = [
{path: '', component: AccessibilityHome},
{path: 'button', component: ButtonAccessibilityDemo},
{path: 'button-toggle', component: ButtonToggleAccessibilityDemo},
{path: 'checkbox', component: CheckboxAccessibilityDemo},
{path: 'chips', component: ChipsAccessibilityDemo},
{path: 'radio', component: RadioAccessibilityDemo},
+2 -1
View File
@@ -233,7 +233,8 @@ export class MdButtonToggleGroup extends _MdButtonToggleGroupMixinBase
inputs: ['disabled'],
host: {
'class': 'mat-button-toggle-group',
'[class.mat-button-toggle-vertical]': 'vertical'
'[class.mat-button-toggle-vertical]': 'vertical',
'role': 'group'
}
})
export class MdButtonToggleGroupMultiple extends _MdButtonToggleGroupMixinBase