File tree Expand file tree Collapse file tree 2 files changed +19
-4
lines changed Expand file tree Collapse file tree 2 files changed +19
-4
lines changed Original file line number Diff line number Diff line change @@ -184,8 +184,9 @@ export class CdkFooterCell extends BaseCdkCell {
184
184
constructor ( columnDef : CdkColumnDef , elementRef : ElementRef ) {
185
185
super ( columnDef , elementRef ) ;
186
186
if ( columnDef . _table ?. _elementRef . nativeElement . nodeType === 1 ) {
187
- const role = columnDef . _table . _elementRef . nativeElement
188
- . getAttribute ( 'role' ) === 'table' ? 'cell' : 'gridcell' ;
187
+ const tableRole = columnDef . _table . _elementRef . nativeElement
188
+ . getAttribute ( 'role' ) ;
189
+ const role = ( tableRole === 'grid' || tableRole === 'treegrid' ) ? 'gridcell' : 'cell' ;
189
190
elementRef . nativeElement . setAttribute ( 'role' , role ) ;
190
191
}
191
192
}
@@ -202,8 +203,9 @@ export class CdkCell extends BaseCdkCell {
202
203
constructor ( columnDef : CdkColumnDef , elementRef : ElementRef ) {
203
204
super ( columnDef , elementRef ) ;
204
205
if ( columnDef . _table ?. _elementRef . nativeElement . nodeType === 1 ) {
205
- const role = columnDef . _table . _elementRef . nativeElement
206
- . getAttribute ( 'role' ) === 'table' ? 'cell' : 'gridcell' ;
206
+ const tableRole = columnDef . _table . _elementRef . nativeElement
207
+ . getAttribute ( 'role' ) ;
208
+ const role = ( tableRole === 'grid' || tableRole === 'treegrid' ) ? 'gridcell' : 'cell' ;
207
209
elementRef . nativeElement . setAttribute ( 'role' , role ) ;
208
210
}
209
211
}
Original file line number Diff line number Diff line change @@ -611,6 +611,19 @@ describe('CdkTable', () => {
611
611
it ( 'should not clobber an existing table role' , ( ) => {
612
612
setupTableTestApp ( CustomRoleCdkTableApp ) ;
613
613
expect ( tableElement . getAttribute ( 'role' ) ) . toBe ( 'treegrid' ) ;
614
+
615
+ expect ( getHeaderRows ( tableElement ) [ 0 ] . getAttribute ( 'role' ) ) . toBe ( 'row' ) ;
616
+ const header = getHeaderRows ( tableElement ) [ 0 ] ;
617
+ getHeaderCells ( header ) . forEach ( cell => {
618
+ expect ( cell . getAttribute ( 'role' ) ) . toBe ( 'columnheader' ) ;
619
+ } ) ;
620
+
621
+ getRows ( tableElement ) . forEach ( row => {
622
+ expect ( row . getAttribute ( 'role' ) ) . toBe ( 'row' ) ;
623
+ getCells ( row ) . forEach ( cell => {
624
+ expect ( cell . getAttribute ( 'role' ) ) . toBe ( 'gridcell' ) ;
625
+ } ) ;
626
+ } ) ;
614
627
} ) ;
615
628
616
629
it ( 'should throw an error if two column definitions have the same name' , ( ) => {
You can’t perform that action at this time.
0 commit comments