-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Closed
matrix-org/matrix-react-sdk
#9157Labels
A-SpacesSpaces, groups, communitiesSpaces, groups, communitiesA11yO-FrequentAffects or can be seen by most users regularly or impacts most users' first experienceAffects or can be seen by most users regularly or impacts most users' first experienceS-MinorImpairs non-critical functionality or suitable workarounds existImpairs non-critical functionality or suitable workarounds existT-Defect
Description
Steps to reproduce
There are a few issues with the markup as generated by SpacePanel.tsx:
- A
<ul role="tree">is created, but the user panel is added as a child in a<div>. I'm fairly sure lists can't have divs as children in the HTML spec. - As presented to NVDA, the user menu is presented as if it was a child of the spaces tree. I'm guessing this tree should only have actual spaces as its children, and that the user menu should be a separate item. If not, it should be presented as a
<li>with appropriate ARIA attributes for its role as a tree item. aria-selected="true"needs to be set on only the selected item in the tree.
I did manage to move the <div> out from the ttree, though I don't know how it might have affected things visually. Got a bit lost in trying to set aria-selected though and doubt I'll have time to get to it soon.
Outcome
What did you expect?
To be able to use the spaces tree accessibly
What happened instead?
Tabbing to the spaces tree presents the user menu as if it's a space. Also, NVDA is generally confused about how to handle it given the markup isn't compliant.
Operating system
No response
Browser information
No response
URL for webapp
No response
Application version
No response
Homeserver
No response
Will you send logs?
Yes
Metadata
Metadata
Assignees
Labels
A-SpacesSpaces, groups, communitiesSpaces, groups, communitiesA11yO-FrequentAffects or can be seen by most users regularly or impacts most users' first experienceAffects or can be seen by most users regularly or impacts most users' first experienceS-MinorImpairs non-critical functionality or suitable workarounds existImpairs non-critical functionality or suitable workarounds existT-Defect