-
Notifications
You must be signed in to change notification settings - Fork 70
fix(MainTable): Add keyboard controls to sortable tables #1309
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
base: main
Are you sure you want to change the base?
Conversation
fc75fe5 to
96ed56b
Compare
|
Blocked pending merge of #1306 . This is still reviewable though - this PR already includes the Vanilla version bump. |
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.
Pull request overview
This PR adds keyboard controls to sortable tables by wrapping table headers in sort buttons, improving accessibility for keyboard and screen reader users.
Changes:
- Modified
TableHeadercomponent to conditionally render a sort button when bothsortandonSortprops are provided - Updated
MainTableto useonSortprop instead ofonClickfor sort functionality - Updated tests to query for the button element within column headers instead of clicking the header directly
- Upgraded
vanilla-frameworkdependency from 4.39.0 to 4.41.0
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/components/TableHeader/TableHeader.tsx | Added onSort prop and conditional button wrapper for sortable headers |
| src/components/MainTable/MainTable.tsx | Changed prop name from onClick to onSort for header sort functionality |
| src/components/MainTable/MainTable.test.tsx | Updated tests to target sort buttons and added new keyboard navigation test |
| package.json | Upgraded vanilla-framework to version 4.41.0 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
Code LGTM.
Please rebase on main, @jmuzina . To resolve the conflicts (should be easy as it is only in the dependency files that can be accepted from main branch). Also then I can QA on the demo server.
Done
QA
Pinging @canonical/react-library-maintainers for a review.
Storybook
To see rendered examples of all react-components, run:
QA in your project
from
react-componentsrun:Install the resulting tarball in your project with:
QA steps
Percy steps