@@ -1061,7 +1061,7 @@ export class UnwrappedEventTile extends React.Component<EventTileProps, IState>
1061
1061
this . context . timelineRenderingType ,
1062
1062
) ;
1063
1063
avatar = (
1064
- < div className = "mx_EventTile_avatar" >
1064
+ < div className = "mx_EventTile_avatar" id = { 'mx_EventTile_avatar_' + this . props . mxEvent . getId ( ) } tabindex = "-1" >
1065
1065
< MemberAvatar
1066
1066
member = { member }
1067
1067
size = { avatarSize }
@@ -1147,6 +1147,7 @@ export class UnwrappedEventTile extends React.Component<EventTileProps, IState>
1147
1147
< a
1148
1148
href = { permalink }
1149
1149
onClick = { this . onPermalinkClicked }
1150
+ tabindex = "-1"
1150
1151
aria-label = { formatTime ( new Date ( this . props . mxEvent . getTs ( ) ) , this . props . isTwelveHour ) }
1151
1152
onContextMenu = { this . onTimestampContextMenu }
1152
1153
>
@@ -1209,8 +1210,9 @@ export class UnwrappedEventTile extends React.Component<EventTileProps, IState>
1209
1210
{
1210
1211
"ref" : this . ref ,
1211
1212
"className" : classes ,
1213
+ "tabindex" : 0 ,
1212
1214
"aria-live" : ariaLive ,
1213
- "aria-label " : this . props . mxEvent . sender . name + '. ' + ( this . props . mxEvent . clearEvent || this . props . mxEvent . event ) . content . body ,
1215
+ "aria-labelledby " : `mx_EventTile_avatar_ ${ this . props . mxEvent . getId ( ) } mx_EventTile_content_ ${ this . props . mxEvent . getId ( ) } ` ,
1214
1216
"aria-atomic" : true ,
1215
1217
"data-scroll-tokens" : scrollToken ,
1216
1218
"data-has-reply" : ! ! replyChain ,
@@ -1264,8 +1266,9 @@ export class UnwrappedEventTile extends React.Component<EventTileProps, IState>
1264
1266
{
1265
1267
"ref" : this . ref ,
1266
1268
"className" : classes ,
1267
- "tabIndex " : - 1 ,
1269
+ "tabindex " : 0 ,
1268
1270
"aria-live" : ariaLive ,
1271
+ "aria-labelledby" : `mx_EventTile_avatar_${ this . props . mxEvent . getId ( ) } mx_EventTile_content_${ this . props . mxEvent . getId ( ) } ` ,
1269
1272
"aria-atomic" : "true" ,
1270
1273
"data-scroll-tokens" : scrollToken ,
1271
1274
"data-layout" : this . props . layout ,
@@ -1398,9 +1401,9 @@ export class UnwrappedEventTile extends React.Component<EventTileProps, IState>
1398
1401
{
1399
1402
"ref" : this . ref ,
1400
1403
"className" : classes ,
1401
- "tabIndex " : - 1 ,
1404
+ "tabindex " : 0 ,
1402
1405
"aria-live" : ariaLive ,
1403
- "aria-label " : this . props . mxEvent . sender . name + '. ' + ( this . props . mxEvent . clearEvent || this . props . mxEvent . event ) . content . body ,
1406
+ "aria-labelledby " : `mx_EventTile_avatar_ ${ this . props . mxEvent . getId ( ) } mx_EventTile_content_ ${ this . props . mxEvent . getId ( ) } ` ,
1404
1407
"aria-atomic" : "true" ,
1405
1408
"data-scroll-tokens" : scrollToken ,
1406
1409
"data-layout" : this . props . layout ,
@@ -1415,7 +1418,7 @@ export class UnwrappedEventTile extends React.Component<EventTileProps, IState>
1415
1418
{ sender }
1416
1419
{ ircPadlock }
1417
1420
{ avatar }
1418
- < div className = { lineClasses } key = "mx_EventTile_line" onContextMenu = { this . onContextMenu } >
1421
+ < div className = { lineClasses } key = "mx_EventTile_line" onContextMenu = { this . onContextMenu } aria-labelledby = { 'mx_EventTile_content_' + this . props . mxEvent . getId ( ) } >
1419
1422
{ this . renderContextMenu ( ) }
1420
1423
{ groupTimestamp }
1421
1424
{ groupPadlock }
0 commit comments