Various ARIA a11y fixes.
Notate RightPanel tabs. Shorten Screen Reader queues. Make AccessibleTooltipButton screen reader friendly Flatten DOM for Sticker button using React Fragments Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
parent
b94c94db04
commit
f1db0cf027
16 changed files with 62 additions and 57 deletions
|
@ -1124,35 +1124,35 @@ module.exports = createReactClass({
|
|||
}
|
||||
|
||||
return (
|
||||
<div className="mx_MemberInfo">
|
||||
<div className="mx_MemberInfo_name">
|
||||
{ backButton }
|
||||
{ e2eIconElement }
|
||||
<h2>{ memberName }</h2>
|
||||
<div className="mx_MemberInfo" role="tabpanel">
|
||||
<div className="mx_MemberInfo_name">
|
||||
{ backButton }
|
||||
{ e2eIconElement }
|
||||
<h2>{ memberName }</h2>
|
||||
</div>
|
||||
{ avatarElement }
|
||||
<div className="mx_MemberInfo_container">
|
||||
|
||||
<div className="mx_MemberInfo_profile">
|
||||
<div className="mx_MemberInfo_profileField">
|
||||
{ this.props.member.userId }
|
||||
</div>
|
||||
{ roomMemberDetails }
|
||||
</div>
|
||||
{ avatarElement }
|
||||
</div>
|
||||
<AutoHideScrollbar className="mx_MemberInfo_scrollContainer">
|
||||
<div className="mx_MemberInfo_container">
|
||||
{ this._renderUserOptions() }
|
||||
|
||||
<div className="mx_MemberInfo_profile">
|
||||
<div className="mx_MemberInfo_profileField">
|
||||
{ this.props.member.userId }
|
||||
</div>
|
||||
{ roomMemberDetails }
|
||||
</div>
|
||||
{ adminTools }
|
||||
|
||||
{ startChat }
|
||||
|
||||
{ this._renderDevices() }
|
||||
|
||||
{ spinner }
|
||||
</div>
|
||||
<AutoHideScrollbar className="mx_MemberInfo_scrollContainer">
|
||||
<div className="mx_MemberInfo_container">
|
||||
{ this._renderUserOptions() }
|
||||
|
||||
{ adminTools }
|
||||
|
||||
{ startChat }
|
||||
|
||||
{ this._renderDevices() }
|
||||
|
||||
{ spinner }
|
||||
</div>
|
||||
</AutoHideScrollbar>
|
||||
</AutoHideScrollbar>
|
||||
</div>
|
||||
);
|
||||
},
|
||||
|
|
|
@ -475,7 +475,7 @@ module.exports = createReactClass({
|
|||
}
|
||||
|
||||
return (
|
||||
<div className="mx_MemberList">
|
||||
<div className="mx_MemberList" role="tabpanel">
|
||||
{ inviteButton }
|
||||
<AutoHideScrollbar>
|
||||
<div className="mx_MemberList_wrapper">
|
||||
|
|
|
@ -382,14 +382,15 @@ module.exports = createReactClass({
|
|||
/>;
|
||||
}
|
||||
|
||||
// The following labels are written in such a fashion to increase screen reader efficiency (speed).
|
||||
if (notifBadges && mentionBadges && !isInvite) {
|
||||
ariaLabel += " " + _t("It has %(count)s unread messages including mentions.", {
|
||||
ariaLabel += " " + _t("%(count)s unread messages including mentions.", {
|
||||
count: notificationCount,
|
||||
});
|
||||
} else if (notifBadges) {
|
||||
ariaLabel += " " + _t("It has %(count)s unread messages.", { count: notificationCount });
|
||||
ariaLabel += " " + _t("%(count)s unread messages.", { count: notificationCount });
|
||||
} else if (mentionBadges && !isInvite) {
|
||||
ariaLabel += " " + _t("It has unread mentions.");
|
||||
ariaLabel += " " + _t("Unread mentions.");
|
||||
}
|
||||
|
||||
return <AccessibleButton tabIndex="0"
|
||||
|
|
|
@ -409,9 +409,9 @@ export default class Stickerpicker extends React.Component {
|
|||
>
|
||||
</AccessibleButton>;
|
||||
}
|
||||
return <div>
|
||||
return <React.Fragment>
|
||||
{stickersButton}
|
||||
{this.state.showStickers && stickerPicker}
|
||||
</div>;
|
||||
</React.Fragment>;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -121,7 +121,7 @@ export default class ThirdPartyMemberInfo extends React.Component {
|
|||
|
||||
// We shamelessly rip off the MemberInfo styles here.
|
||||
return (
|
||||
<div className="mx_MemberInfo">
|
||||
<div className="mx_MemberInfo" role="tabpanel">
|
||||
<div className="mx_MemberInfo_name">
|
||||
<AccessibleButton className="mx_MemberInfo_cancel"
|
||||
onClick={this.onCancel}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue