-
Notifications
You must be signed in to change notification settings - Fork 750
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update UserTable to allow single selection #9597
Update UserTable to allow single selection #9597
Conversation
Build Artifacts
|
6124f61
to
0220a50
Compare
@radinamatic I'd appreciate if you could have a look at tables in regards to a11y things I mentioned in the description (cc'ed you in the relevant parts) |
@MisRob Thank you for investing effort to find a better output for the screen reader users! 🙏🏽 I will do some more tests with NVDA to ensure all the visually hidden information makes sense, but one clear issue became evident so far: while for the Select all checkbox the label is correctly configured, that is not the case for the rest of the checkboxes related to users. Could you change the
|
Thank you @radinamatic.
I should have mentioned this louder, this is one of the KDS issues that I reported here learningequality/kolibri-design-system#347 (linked with some other issues in the description of the PR in the references section). The reason why it works for the "Select all" checkbox is that we use the |
@radinamatic No, so it didn't work. I think it'd be best to prioritize fixing learningequality/kolibri-design-system#347, it should be straightforward and it will also fix other places in Kolibri where we lack checkboxes labels. |
@radinamatic Taking into account that it's one of the most important a11y things I'll go ahead and set P0 on that issue and make sure to mention it during the next iteration planning |
Now I realize that the previous implementation may be in part governed by the referenced KDS limitation. However, would rather not go back even though this would be temporary regression since it had other problems, it complicated work on radio buttons, and avoiding fixing this in KDS affects negatively more places. I think it'd be fine to leave this PR open though until we address it in KDS to make sure it's okay. |
I'm all for pushing up for a solution in KDS that would have a broader reach, compared with patching things up separately in various places. Keeping an 👁️ on the PR that you mention, hit me when it needs testing! 🙏🏽 |
the table markup and provide the visually hidden column header on its previous place in markup to make sure that the purpose of the table column containing checkboxes to select users gets communicated to assistive technologies. The select all checkbox retains its position visually but it is achieved rather by means of CSS.
and improve selectable table accessibility by using full names as radio buttons and checkboxes labels.
d74e01b
to
c2cedc6
Compare
Rebased on top of the latest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Major accessibility issue fixed and included in this PR, great progress! 👍🏽
Reverting the merge as it was merged by mistake and it also broken tests on |
Summary
UserTable
, particularly for areas that are later updated by this pull requestenableMultipleSelection
defaulting totrue
. When the table is selectable andenableMultipleSelection
istrue
, checkboxes will be displayed for user selection which covers all our previous use cases of the selectable table.enableMultipleSelection
isfalse
. This is to be used on the choose admin page of the change facility flow (not included in this pull request):<th>
to be used for describing what that table column contains instead, by means of the Select user by: visually hidden text that precedes the Full name textReferences
Related #9326
Opened KDS issues related to some limitations I experienced:
Reviewer guidance
I wanted to implement radio button selection in an accessible way. Doing it only for radio buttons without making any changes to checkboxes would be complicated since the previous and new solution has different table columns structure. Because there's lots of refactoring in that regard, I'm opening a separate pull request which purpose is to make sure that the new structure makes sense and that there are no regressions at places where we already use
UserTable
. Therefore, during the review, I'd suggest:Note: Since I moved the file, if you want to preview actual changes line by line, you will need to go commit by commit.
Testing checklist
PR process
Reviewer checklist
yarn
andpip
)