@@ -122,8 +122,6 @@ export default class FlexTable extends Component {
122
122
disableHeader : false ,
123
123
headerHeight : 0 ,
124
124
noRowsRenderer : ( ) => null ,
125
- onHeaderClick : ( ) => null ,
126
- onRowClick : ( ) => null ,
127
125
onRowsRendered : ( ) => null ,
128
126
onScroll : ( ) => null ,
129
127
overscanRowsCount : 10
@@ -285,7 +283,7 @@ export default class FlexTable extends Component {
285
283
: SortDirection . DESC
286
284
const onClick = ( ) => {
287
285
sortEnabled && sort ( dataKey , newSortDirection )
288
- onHeaderClick ( dataKey , columnData )
286
+ onHeaderClick && onHeaderClick ( dataKey , columnData )
289
287
}
290
288
291
289
const renderedHeader = headerRenderer ( {
@@ -297,15 +295,21 @@ export default class FlexTable extends Component {
297
295
sortDirection
298
296
} )
299
297
298
+ const a11yProps = { }
299
+
300
+ if ( sortEnabled || onHeaderClick ) {
301
+ a11yProps [ 'aria-label' ] = column . props [ 'aria-label' ] || label || dataKey
302
+ a11yProps . role = 'rowheader'
303
+ a11yProps . tabIndex = 0
304
+ a11yProps . onClick = onClick
305
+ }
306
+
300
307
return (
301
308
< div
302
- aria-label = { column . props [ 'aria-label' ] || label || dataKey }
309
+ { ... a11yProps }
303
310
key = { `Header-Col${ columnIndex } ` }
304
311
className = { classNames }
305
312
style = { style }
306
- onClick = { onClick }
307
- role = 'rowheader'
308
- tabIndex = '0'
309
313
>
310
314
{ renderedHeader }
311
315
</ div >
@@ -334,18 +338,24 @@ export default class FlexTable extends Component {
334
338
)
335
339
)
336
340
341
+ const a11yProps = { }
342
+
343
+ if ( onRowClick ) {
344
+ a11yProps [ 'aria-label' ] = 'row'
345
+ a11yProps . role = 'row'
346
+ a11yProps . tabIndex = 0
347
+ a11yProps . onClick = ( ) => onRowClick ( rowIndex )
348
+ }
349
+
337
350
return (
338
351
< div
339
- aria-label = 'row'
352
+ { ... a11yProps }
340
353
key = { rowIndex }
341
354
className = { cn ( 'FlexTable__row' , rowClass ) }
342
- onClick = { ( ) => onRowClick ( rowIndex ) }
343
355
style = { {
344
356
height : this . _getRowHeight ( rowIndex ) ,
345
357
paddingRight : scrollbarWidth
346
358
} }
347
- role = 'row'
348
- tabIndex = '0'
349
359
>
350
360
{ renderedRow }
351
361
</ div >
0 commit comments