mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
fix(chips): set appropriate aria-orientation (#6464)
Based on the [accessibility guidelines](https://www.w3.org/TR/wai-aria-practices-1.1/#Listbox), the `listbox` role has a default `aria-orientation` of `vertical`, however the chips in a chip list are horizontal.
This commit is contained in:
committed by
mmalerba
parent
ba2f498cef
commit
a37aa6a62c
@@ -102,7 +102,7 @@
|
||||
<code>(focus)</code> event to run custom code.
|
||||
</p>
|
||||
|
||||
<md-chip-list class="mat-chip-list-stacked" [tabIndex]="-1">
|
||||
<md-chip-list class="mat-chip-list-stacked" aria-orientation="vertical" [tabIndex]="-1">
|
||||
<md-chip *ngFor="let aColor of availableColors"
|
||||
(focus)="color = aColor.color" color="{{aColor.color}}" selected="true">
|
||||
{{aColor.name}}
|
||||
|
||||
@@ -45,6 +45,7 @@ import {coerceBooleanProperty} from '@angular/cdk/coercion';
|
||||
host: {
|
||||
'[attr.tabindex]': '_tabIndex',
|
||||
'role': 'listbox',
|
||||
'[attr.aria-orientation]': 'ariaOrientation',
|
||||
'class': 'mat-chip-list',
|
||||
|
||||
'(focus)': 'focus()',
|
||||
@@ -88,6 +89,9 @@ export class MdChipList implements AfterContentInit, OnDestroy {
|
||||
/** The chip components contained within this chip list. */
|
||||
chips: QueryList<MdChip>;
|
||||
|
||||
/** Orientation of the chip list. */
|
||||
@Input('aria-orientation') ariaOrientation: 'horizontal' | 'vertical' = 'horizontal';
|
||||
|
||||
constructor(protected _renderer: Renderer2, protected _elementRef: ElementRef,
|
||||
@Optional() private _dir: Directionality) {
|
||||
}
|
||||
|
||||
+12
-1
@@ -33,10 +33,21 @@ chips are neither selectable nor focusable. Currently, disabled chips receive no
|
||||
Users can move through the chips using the arrow keys and select/deselect them with the space. Chips
|
||||
also gain focus when clicked, ensuring keyboard navigation starts at the appropriate chip.
|
||||
|
||||
### Orientation
|
||||
If you want the chips in the list to be stacked vertically, instead of horizontally, you can apply
|
||||
the `mat-chip-list-stacked` class, as well as the `aria-orientation="vertical"` attribute:
|
||||
|
||||
```html
|
||||
<md-chip-list class="mat-chip-list-stacked" aria-orientation="vertical">
|
||||
<md-chip>Papadum</md-chip>
|
||||
<md-chip>Naan</md-chip>
|
||||
<md-chip>Dal</md-chip>
|
||||
</md-chip-list>
|
||||
```
|
||||
|
||||
### Theming
|
||||
The selected color of an `<md-chip>` can be changed by using the `color` property. By default, chips
|
||||
use a neutral background color based on the current theme (light or dark). This can be changed to
|
||||
use a neutral background color based on the current theme (light or dark). This can be changed to
|
||||
`'primary'`, `'accent'`, or `'warn'`.
|
||||
|
||||
### Accessibility
|
||||
|
||||
Reference in New Issue
Block a user