Skip to content

Commit 7d39dab

Browse files
committed
demo(icon): Add an accessibility demo page for icon
1 parent fd5e5ff commit 7d39dab

File tree

5 files changed

+38
-0
lines changed

5 files changed

+38
-0
lines changed

src/demo-app/a11y/a11y-module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {ChipsAccessibilityDemo} from './chips/chips-a11y';
1313
import {GridListAccessibilityDemo} from './grid-list/grid-list-a11y';
1414
import {RadioAccessibilityDemo} from './radio/radio-a11y';
1515
import {DatepickerAccessibilityDemo} from './datepicker/datepicker-a11y';
16+
import {IconAccessibilityDemo} from './icon/icon-a11y';
1617
import {InputAccessibilityDemo} from './input/input-a11y';
1718
import {SliderAccessibilityDemo} from './slider/slider-a11y';
1819

@@ -45,6 +46,7 @@ export class AccessibilityRoutingModule {}
4546
ChipsAccessibilityDemo,
4647
DatepickerAccessibilityDemo,
4748
GridListAccessibilityDemo,
49+
IconAccessibilityDemo,
4850
InputAccessibilityDemo,
4951
RadioAccessibilityDemo,
5052
SliderAccessibilityDemo,

src/demo-app/a11y/a11y.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export class AccessibilityDemo {
2424
{name: 'Chips', route: 'chips'},
2525
{name: 'Datepicker', route: 'datepicker'},
2626
{name: 'Grid list', route: 'grid-list'},
27+
{name: 'Icon', route: 'icon'},
2728
{name: 'Input', route: 'input'},
2829
{name: 'Radio buttons', route: 'radio'},
2930
{name: 'Slider', route: 'slider'},

src/demo-app/a11y/icon/icon-a11y.html

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<section>
2+
<h2>Home icon (Ligature from Material Icons font)</h2>
3+
<md-icon color="primary" aria-label="Home">home</md-icon>
4+
</section>
5+
6+
<section>
7+
<h2>Thumb up icon (Icon registered with MdIconProvider) </h2>
8+
<md-icon svgIcon="thumb-up" color="accent" aria-label="Thumb up"></md-icon>
9+
</section>
10+
11+
<section>
12+
<h2>Alarm icon (Icon from icon set) </h2>
13+
<md-icon svgIcon="core:accessibility" color="warn" aria-label="Alarm"></md-icon>
14+
</section>

src/demo-app/a11y/icon/icon-a11y.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import {Component, ViewEncapsulation} from '@angular/core';
2+
import {DomSanitizer} from '@angular/platform-browser';
3+
import {MdIconRegistry} from '@angular/material';
4+
5+
@Component({
6+
moduleId: module.id,
7+
selector: 'icon-a11y',
8+
templateUrl: 'icon-a11y.html',
9+
encapsulation: ViewEncapsulation.None,
10+
})
11+
export class IconAccessibilityDemo {
12+
constructor(mdIconRegistry: MdIconRegistry, sanitizer: DomSanitizer) {
13+
mdIconRegistry
14+
.addSvgIcon('thumb-up',
15+
sanitizer.bypassSecurityTrustResourceUrl('/icon/assets/thumbup-icon.svg'))
16+
.addSvgIconSetInNamespace('core',
17+
sanitizer.bypassSecurityTrustResourceUrl('/icon/assets/core-icon-set.svg'));
18+
}
19+
}

src/demo-app/a11y/routes.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {GridListAccessibilityDemo} from './grid-list/grid-list-a11y';
88
import {RadioAccessibilityDemo} from './radio/radio-a11y';
99
import {AccessibilityHome} from './a11y';
1010
import {DatepickerAccessibilityDemo} from './datepicker/datepicker-a11y';
11+
import {IconAccessibilityDemo} from './icon/icon-a11y';
1112
import {InputAccessibilityDemo} from './input/input-a11y';
1213
import {SliderAccessibilityDemo} from './slider/slider-a11y';
1314

@@ -20,6 +21,7 @@ export const ACCESSIBILITY_DEMO_ROUTES: Routes = [
2021
{path: 'chips', component: ChipsAccessibilityDemo},
2122
{path: 'datepicker', component: DatepickerAccessibilityDemo},
2223
{path: 'grid-list', component: GridListAccessibilityDemo},
24+
{path: 'icon', component: IconAccessibilityDemo},
2325
{path: 'input', component: InputAccessibilityDemo},
2426
{path: 'radio', component: RadioAccessibilityDemo},
2527
{path: 'slider', component: SliderAccessibilityDemo},

0 commit comments

Comments
 (0)