File tree 2 files changed +17
-1
lines changed 2 files changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -1659,6 +1659,22 @@ describe('MatSelect', () => {
1659
1659
. toContain ( options [ 1 ] . id , `Expected aria-owns to contain IDs of its child options.` ) ;
1660
1660
} ) ) ;
1661
1661
1662
+ it ( 'should remove aria-owns when the options are not visible' , fakeAsync ( ( ) => {
1663
+ const select = fixture . debugElement . query ( By . css ( 'mat-select' ) ) ;
1664
+
1665
+ expect ( select . nativeElement . hasAttribute ( 'aria-owns' ) )
1666
+ . toBe ( true , 'Expected select to have aria-owns while open.' ) ;
1667
+
1668
+ const backdrop =
1669
+ overlayContainerElement . querySelector ( '.cdk-overlay-backdrop' ) as HTMLElement ;
1670
+ backdrop . click ( ) ;
1671
+ fixture . detectChanges ( ) ;
1672
+ flush ( ) ;
1673
+
1674
+ expect ( select . nativeElement . hasAttribute ( 'aria-owns' ) )
1675
+ . toBe ( false , 'Expected select not to have aria-owns when closed.' ) ;
1676
+ } ) ) ;
1677
+
1662
1678
it ( 'should set the option id properly' , fakeAsync ( ( ) => {
1663
1679
let firstOptionID = options [ 0 ] . id ;
1664
1680
Original file line number Diff line number Diff line change @@ -184,7 +184,7 @@ export class MatSelectTrigger {}
184
184
'[attr.aria-required]' : 'required.toString()' ,
185
185
'[attr.aria-disabled]' : 'disabled.toString()' ,
186
186
'[attr.aria-invalid]' : 'errorState' ,
187
- '[attr.aria-owns]' : '_optionIds' ,
187
+ '[attr.aria-owns]' : 'panelOpen ? _optionIds : null ' ,
188
188
'[attr.aria-multiselectable]' : 'multiple' ,
189
189
'[attr.aria-describedby]' : '_ariaDescribedby || null' ,
190
190
'[attr.aria-activedescendant]' : '_getAriaActiveDescendant()' ,
You can’t perform that action at this time.
0 commit comments