@@ -228,7 +228,9 @@ export default {
228
228
// We can return more than one TR if rowDetails enabled
229
229
const $rows = [ ]
230
230
231
- // Details ID needed for aria-describedby when details showing
231
+ // Details ID needed for `aria-details` when details showing
232
+ // We set it to `null` when not showing so that attribute
233
+ // does not appear on the element
232
234
const detailsId = rowShowDetails ? this . safeId ( `_details_${ rowIndex } _` ) : null
233
235
234
236
// For each item data field in row
@@ -284,7 +286,7 @@ export default {
284
286
tabindex : hasRowClickHandler ? '0' : null ,
285
287
'data-pk' : rowId ? String ( item [ primaryKey ] ) : null ,
286
288
// Should this be `aria-details` instead?
287
- 'aria-describedby ' : detailsId ,
289
+ 'aria-details ' : detailsId ,
288
290
'aria-owns' : detailsId ,
289
291
'aria-rowindex' : ariaRowIndex ,
290
292
...selectableAttrs
@@ -322,7 +324,7 @@ export default {
322
324
}
323
325
324
326
// Render the details slot in a TD
325
- const $details = h ( BTd , { props : { colspan : fields . length } , attrs : { id : detailsId } } , [
327
+ const $details = h ( BTd , { props : { colspan : fields . length } } , [
326
328
this . normalizeSlot ( detailsSlotName , detailsScope )
327
329
] )
328
330
@@ -351,7 +353,7 @@ export default {
351
353
: this . tbodyTrClass
352
354
] ,
353
355
props : { variant : item . _rowVariant || null } ,
354
- attrs : { id : detailsId }
356
+ attrs : { id : detailsId , tabindex : '-1' }
355
357
} ,
356
358
[ $details ]
357
359
)
0 commit comments