Overview for badge
Badges are small status descriptors for UI elements. A badge consists of a small circle, typically containing a number or other short set of characters, that appears in proximity to another object.
Badges must always be applied to block-level elements.
Badge position
By default, the badge will be placed above after
. The direction can be changed by defining
the attribute matBadgePosition
follow by above|below
and before|after
.
<button mat-raised-button matBadge="8" matBadgePosition="before">
Action
</button>
The overlap of the badge in relation to its inner contents can also be defined
using the matBadgeOverlap
tag. Typically, you want the badge to overlap an icon and not
a text phrase. By default it will overlap.
<div matBadge="4" matBadgeOverlap="false" class="demo-section">Text with a badge</div>
Badge sizing
The badge has 3 sizes: small
, medium
and large
. By default, the badge is set to medium
.
Badges that are small
do not show the label text. This can be useful in contexts such as showing there are unread notifications but not needing to show the exact amount.
You can change the size by adding matBadgeSize
to the host element.
<div matBadge="1" matBadgeSize="small" class="demo-section">Text with small badge</div>
<div matBadge="1" matBadgeSize="large" class="demo-section">Text with large badge</div>
Badge visibility
The badge visibility can be toggled programmatically by defining matBadgeHidden
.
<button mat-raised-button matBadge="7" [matBadgeHidden]="hidden" (click)="toggleBadgeVisibility()">
Hide
</button>
Accessibility
You must provide a meaningful description via matBadgeDescription
. When attached to an interactive
element, MatBadge
applies this description to its host via aria-describedby
. When attached to
a non-interactive element, MatBadge
appends a visually-hidden, inline description element. The
badge determines interactivity based on whether the host element is focusable.
When applying a badge to a <mat-icon>
, it is important to know that <mat-icon>
is
aria-hidden="true"
by default. If the combination of icon and badge communicates meaningful
information, always surface this information in another way. See the guidance on indicator
icons for more information.