Skip to content

Commit e22e9f5

Browse files
authored
fix(cdk-experimental/listbox): fix issue with aria-selected (#25373)
1 parent eefb800 commit e22e9f5

File tree

15 files changed

+33
-29
lines changed

15 files changed

+33
-29
lines changed

src/cdk-experimental/listbox/listbox.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,18 @@ The available CSS classes are listed below, by directive.
2929

3030
In addition to CSS classes, these directives add aria attributes that can be targeted in CSS.
3131

32-
| Directive | Attribute Selector | Applied... |
33-
|:-----------|----------------------------------|------------------------------------------|
34-
| cdkOption | \[aria-disabled="true"] | If the option is disabled |
35-
| cdkOption | \[aria-selected="true"] | If the option is selected |
36-
| cdkListbox | \[aria-disabled="true"] | If the listbox is selected |
37-
| cdkListbox | \[aria-multiselectable="true"] | If the listbox allows multiple selection |
38-
| cdkListbox | \[aria-orientation="horizontal"] | If the listbox is oriented horizontally |
39-
| cdkListbox | \[aria-orientation="vertical"] | If the listbox is oriented vertically |
32+
| Directive | Attribute Selector | Applied... |
33+
|:-----------|----------------------------------|-----------------------------------------|
34+
| cdkOption | \[aria-disabled="true"] | If the option is disabled |
35+
| cdkOption | \[aria-disabled="false"] | If the option is not disabled |
36+
| cdkOption | \[aria-selected="true"] | If the option is selected |
37+
| cdkOption | \[aria-selected="false"] | If the option is not selected |
38+
| cdkListbox | \[aria-disabled="true"] | If the listbox is disabled |
39+
| cdkListbox | \[aria-disabled="false"] | If the listbox is not disabled |
40+
| cdkListbox | \[aria-multiselectable="true"] | If the listbox is multiple selection |
41+
| cdkListbox | \[aria-multiselectable="false"] | If the listbox is single selection |
42+
| cdkListbox | \[aria-orientation="horizontal"] | If the listbox is oriented horizontally |
43+
| cdkListbox | \[aria-orientation="vertical"] | If the listbox is oriented vertically |
4044

4145
### Getting started
4246

src/cdk-experimental/listbox/listbox.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ describe('CdkOption and CdkListbox', () => {
115115
expect(listbox.value).toEqual([]);
116116
for (let i = 0; i < options.length; i++) {
117117
expect(options[i].isSelected()).toBeFalse();
118-
expect(optionEls[i].hasAttribute('aria-selected')).toBeFalse();
118+
expect(optionEls[i].getAttribute('aria-selected')).toBe('false');
119119
}
120120
expect(fixture.componentInstance.changedOption).toBeUndefined();
121121
});

src/cdk-experimental/listbox/listbox.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,9 @@ class ListboxSelectionModel<T> extends SelectionModel<T> {
9393
'role': 'option',
9494
'class': 'cdk-option',
9595
'[id]': 'id',
96-
'[attr.aria-selected]': 'isSelected() || null',
96+
'[attr.aria-selected]': 'isSelected()',
9797
'[attr.tabindex]': '_getTabIndex()',
98-
'[attr.aria-disabled]': 'disabled || null',
98+
'[attr.aria-disabled]': 'disabled',
9999
'[class.cdk-option-active]': 'isActive()',
100100
'(click)': '_clicked.next($event)',
101101
'(focus)': '_handleFocus()',
@@ -243,8 +243,8 @@ export class CdkOption<T = unknown> implements ListKeyManagerOption, Highlightab
243243
'class': 'cdk-listbox',
244244
'[id]': 'id',
245245
'[attr.tabindex]': '_getTabIndex()',
246-
'[attr.aria-disabled]': 'disabled || null',
247-
'[attr.aria-multiselectable]': 'multiple || null',
246+
'[attr.aria-disabled]': 'disabled',
247+
'[attr.aria-multiselectable]': 'multiple',
248248
'[attr.aria-activedescendant]': '_getAriaActiveDescendant()',
249249
'[attr.aria-orientation]': 'orientation',
250250
'(focus)': '_handleFocus()',

src/components-examples/cdk-experimental/listbox/cdk-listbox-activedescendant/cdk-listbox-activedescendant-example.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
padding: 5px 5px 5px 25px;
2121
}
2222

23-
.example-option[aria-selected]::before {
23+
.example-option[aria-selected='true']::before {
2424
content: '';
2525
display: block;
2626
width: 20px;

src/components-examples/cdk-experimental/listbox/cdk-listbox-compare-with/cdk-listbox-compare-with-example.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
padding: 5px 5px 5px 25px;
2121
}
2222

23-
.example-option[aria-selected]::before {
23+
.example-option[aria-selected='true']::before {
2424
content: '';
2525
display: block;
2626
width: 20px;

src/components-examples/cdk-experimental/listbox/cdk-listbox-custom-navigation/cdk-listbox-custom-navigation-example.css

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
padding: 5px 5px 5px 25px;
2121
}
2222

23-
.example-option[aria-selected]::before {
23+
.example-option[aria-selected='true']::before {
2424
content: '';
2525
display: block;
2626
width: 20px;
@@ -31,10 +31,10 @@
3131
left: 2px;
3232
}
3333

34-
.example-option[aria-disabled] {
34+
.example-option[aria-disabled='true'] {
3535
opacity: 0.5;
3636
}
3737

38-
.example-option:not([aria-disabled]):focus {
38+
.example-option[aria-disabled='false']:focus {
3939
background: rgba(0, 0, 0, 0.2);
4040
}

src/components-examples/cdk-experimental/listbox/cdk-listbox-custom-typeahead/cdk-listbox-custom-typeahead-example.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
padding: 5px 5px 5px 25px;
2121
}
2222

23-
.example-option[aria-selected]::before {
23+
.example-option[aria-selected='true']::before {
2424
content: '';
2525
display: block;
2626
width: 20px;

src/components-examples/cdk-experimental/listbox/cdk-listbox-disabled/cdk-listbox-disabled-example.css

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
padding: 5px 5px 5px 25px;
2929
}
3030

31-
.example-option[aria-selected]::before {
31+
.example-option[aria-selected='true']::before {
3232
content: '';
3333
display: block;
3434
width: 20px;
@@ -39,11 +39,11 @@
3939
left: 2px;
4040
}
4141

42-
.example-option[aria-disabled] {
42+
.example-option[aria-disabled='true'] {
4343
opacity: 0.5;
4444
}
4545

46-
.example-option:not([aria-disabled]):focus {
46+
.example-option[aria-disabled='false']:focus {
4747
background: rgba(0, 0, 0, 0.2);
4848
}
4949

src/components-examples/cdk-experimental/listbox/cdk-listbox-forms-validation/cdk-listbox-forms-validation-example.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
padding: 5px 5px 5px 25px;
3131
}
3232

33-
.example-option[aria-selected]::before {
33+
.example-option[aria-selected='true']::before {
3434
content: '';
3535
display: block;
3636
width: 20px;

src/components-examples/cdk-experimental/listbox/cdk-listbox-horizontal/cdk-listbox-horizontal-example.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
border-left-width: 1px;
2121
}
2222

23-
.example-option[aria-selected]::before {
23+
.example-option[aria-selected='true']::before {
2424
content: '';
2525
position: absolute;
2626
border: 2px solid black;

src/components-examples/cdk-experimental/listbox/cdk-listbox-multiple/cdk-listbox-multiple-example.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
padding: 5px 5px 5px 25px;
2121
}
2222

23-
.example-option[aria-selected]::before {
23+
.example-option[aria-selected='true']::before {
2424
content: '';
2525
display: block;
2626
width: 20px;

src/components-examples/cdk-experimental/listbox/cdk-listbox-overview/cdk-listbox-overview-example.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
padding: 5px 5px 5px 25px;
2121
}
2222

23-
.example-option[aria-selected]::before {
23+
.example-option[aria-selected='true']::before {
2424
content: '';
2525
display: block;
2626
width: 20px;

src/components-examples/cdk-experimental/listbox/cdk-listbox-reactive-forms/cdk-listbox-reactive-forms-example.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
padding: 5px 5px 5px 25px;
2121
}
2222

23-
.example-option[aria-selected]::before {
23+
.example-option[aria-selected='true']::before {
2424
content: '';
2525
display: block;
2626
width: 20px;

src/components-examples/cdk-experimental/listbox/cdk-listbox-template-forms/cdk-listbox-template-forms-example.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
padding: 5px 5px 5px 25px;
2121
}
2222

23-
.example-option[aria-selected]::before {
23+
.example-option[aria-selected='true']::before {
2424
content: '';
2525
display: block;
2626
width: 20px;

src/components-examples/cdk-experimental/listbox/cdk-listbox-value-binding/cdk-listbox-value-binding-example.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
padding: 5px 5px 5px 25px;
2121
}
2222

23-
.example-option[aria-selected]::before {
23+
.example-option[aria-selected='true']::before {
2424
content: '';
2525
display: block;
2626
width: 20px;

0 commit comments

Comments
 (0)