Skip to content

Commit 4ca41a6

Browse files
josephperrottandrewseguin
authored andcommitted
docs(icon): Add docs for inline icon. (#10348)
1 parent 6dd6080 commit 4ca41a6

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,11 @@
5454
<mat-icon fontSet="fontawesome" fontIcon="fa-birthday-cake"></mat-icon>
5555
</p>
5656

57+
<span>Inline styling allows icons to appear as the same size as text around them.</span>
5758
<p>
58-
Inline styling <mat-icon inline="true">favorite</mat-icon> icons appear as
59-
the same <mat-icon inline="true">directions_car</mat-icon>size as text around them.</p>
59+
My <span class="cdk-visually-hidden">dog</span><mat-icon inline="true">pets</mat-icon> is my
60+
<span class="cdk-visually-hidden">favorite</span><mat-icon inline="true">favorite</mat-icon>,
61+
he loves to go on <span class="cdk-visually-hidden">walks</span>
62+
<mat-icon inline="true">directions_walk</mat-icon>
63+
</p>
6064
</div>

src/lib/icon/icon.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ element.
9292
In thinking about accessibility, it is useful to place icon use into one of three categories:
9393
1. **Decorative**: the icon conveys no real semantic meaning and is purely cosmetic.
9494
2. **Interactive**: a user will click or otherwise interact with the icon to perform some action.
95-
3. **Indicator**: the icon is not interactive, but it conveys some information, such as a status.
95+
3. **Indicator**: the icon is not interactive, but it conveys some information, such as a status. This
96+
includes using the icon in place of text inside of a larger message.
9697

9798
### Bidirectionality
9899

@@ -105,22 +106,21 @@ you want to mirror an icon only in an RTL layout, you can use the `mat-icon-rtl-
105106
```
106107

107108
#### Decorative icons
108-
When the icon is puely cosmetic and conveys no real semantic meaning, the `<mat-icon>` element
109-
should be marked with `aria-hidden="true"`.
109+
When the icon is purely cosmetic and conveys no real semantic meaning, the `<mat-icon>` element
110+
is marked with `aria-hidden="true"`.
110111

111112
#### Interactive icons
112113
Icons alone are not interactive elements for screen-reader users; when the user would interact with
113114
some icon on the page, a more appropriate element should "own" the interaction:
114115
* The `<mat-icon>` element should be a child of a `<button>` or `<a>` element.
115-
* The `<mat-icon>` element should be marked with `aria-hidden="true"`.
116116
* The parent `<button>` or `<a>` should either have a meaningful label provided either through
117117
direct text content, `aria-label`, or `aria-labelledby`.
118118

119119
#### Indicator icons
120-
When the presence of an icon communicates some information to the user, that information must also
121-
be made available to screen-readers. The most straightforward way to do this is to
122-
1. Mark the `<mat-icon>` as `aria-hidden="true"`
123-
2. Add a `<span>` as an adjacent sibling to the `<mat-icon>` element with text that conveys the same
120+
When the presence of an icon communicates some information to the user whether as an indicator or
121+
by being inlined into a block of text, that information must also be made available to
122+
screen-readers. The most straightforward way to do this is to
123+
1. Add a `<span>` as an adjacent sibling to the `<mat-icon>` element with text that conveys the same
124124
information as the icon.
125-
3. Add the `cdk-visually-hidden` class to the `<span>`. This will make the message invisible
125+
2. Add the `cdk-visually-hidden` class to the `<span>`. This will make the message invisible
126126
on-screen but still available to screen-reader users.

0 commit comments

Comments
 (0)