-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
[DataTable] with selection, missing possibility to select multiple subsequent rows with Shift key #4084
Comments
It seems point 4) from this slack post also mention that https://ibm-analytics.slack.com/archives/C2K6RFJ1G/p1530819362000214?thread_ts=1530800070.000147 |
We've marked this issue as stale because there hasn't been any activity for a couple of weeks. If there's no further activity on this issue in the next three days then we'll close it. You can keep the conversation going with just a short comment. Thanks for your contributions. |
Hi, Any update on this issue ? It's very important from User Experience point of view. |
We've marked this issue as stale because there hasn't been any activity for a couple of weeks. If there's no further activity on this issue in the next three days then we'll close it. You can keep the conversation going with just a short comment. Thanks for your contributions. |
@dakahn Selection with shift key, is very important from accessibility and usability point of view. |
Just getting to this now. My apologies. I assume the specific situation we're talking about here is a user has narrowed their search through filtering as much as they can and still have too many table items to select manually without frustration (greater than 10? 20?). Selecting rows on our DataTable is done by ticking a checkbox component. If you think about the expected keyboard interaction pattern there it goes something like this: 1, with keyboard the user focuses the checkbox For anyone unfamiliar with the referenced functionality found in Google Chrome's History menu. When the user enters a fieldset of checkboxes and focuses the first checkbox they can hold down In my brief testing using NVDA Chrome's History datatable has VERY poor screen reader accessibility. An interaction we'd need to fully flesh out if we were to consider this feature. The user would need to know:
I expect (based on experience) for this feature to conflict with JAWS's arrow key movement peculiarities when dealing with form fields specifically. |
I think more common pattern used here is:
Result: rows/elements from 2-10 are selected. |
We build for everyone not just the most common user and so any speculative discussions about new features or enhancements will consider mouse users, keyboard users, screen reader users (etc). To your point -- some sort of visual messaging signalling this keyboard control should be given to sighted users as well. Unless like in Chrome we expect them to somehow stumble upon this functionality -- which may be fine for removing the last three sites you visited from your browser history, but is certainly not fine when the expectation is our user should be selecting dozens of checkboxes at a time. |
@dakahn in Chrome browser history, I can filter by e.g. by "youtube", I can click on first checkbox, scroll down e.g. to row 150, press Shift and hold, click on this 150 element, and all elements between 1-150 will be selected. |
@mattrosno @asudoh @dakahn "I might have 35 or more "variables" as rows. So, having to individually click a little box to select a variable is tedious. It would be a big improvement to be able to select a variable by clicking on the row of the variable and being able to hold down the shift key, scroll down, and select all the other 34 variables with a click on the bottom in the order."" |
I completely agree. This is a glaring omission in the current control. |
From DataTable Backlog Grooming call: Core carbon should eventually take this on. |
Hi @sstrubberg do you know if there is any movement on this any time soon? We have an issue open on DataStage IBM issue tracker about a feature like this where you can shift click the rows and have them multi-selected through this type of method and was wondering where this is at so I can report back. If you need further info, we can discuss over slack. Thanks!
Thanks! |
Hey @AustinGitHub, no news yet, but after the call we had looking over Data Table enhancements, this one definitely got people excited. Good to know that your product is in need. This helps our business case for taking it on. I'll be sure to update you accordingly! |
Ref #6942 PR that didn't get finished, got de-prioritized bc of v11 |
I'd like to take a moment to set a baseline on this discussion. In a A group of checkboxes have no such option natively. Each separately takes focus with the Tab key, and is activated separately with the spacebar. Carbon's multi-select dropdown, which uses checkboxes, follows the same basic behaviour as a group of checkboxes. You select each one individually. There are some implementations of multiselect dropdowns that do not use checkboxes. The video Jan provides shows one of these on a Mac OS. But there can be real challenges with these on the web (beyond both the Mac conflicts mentioned earlier for non-contiguous selection, as well as the fact there tends to be no visual difference between single and mutli-select versions). It's one of the reasons Carbon's has been so long in development. So, that's the slightly rocky terrain when we're just talking about an interaction where the main thing we're doing is selecting items. However, looking at the Chrome history described in this issue, there are a whole lot more moving pieces:
Chrome is not following any pattern I'm aware of there, and it's not consistently implemented across OSes. For instance, When this interaction was described to me initially, my reaction was 'that's not checkbox behaviour; it sounds like they've implemented a grid or something', and sure enough, when I turn JAWS on in Windows, it announces the entire construct in the Google history is a grid. There's some decent ARIA authoring guidance on grids. They can be tricky beasts to implement and maintain well, and as DA mentioned, they are difficult to make work programmatically in regards to accessiblity output, even when one gets the UX for keyboard and mouse working well. I'm not sure a JAWS user would discover interaction on that history page. (The output doesn't let them know what's been selected, etc) It's something I definitely would expect to document to meet US Section 508. With those cautions, is it possible to get a better understanding of the use cases? I'd like to establish that grid behaviour is really warranted, especially given the effort. For instance, thinking of that Chrome history example, the only thing you can do with the functionality is delete rows. Given the amount of filtering available, I find it a little odd that it provides all that granular selection but seems to lack a Select All (beyond the indiscriminate 'Clear browser data', not even part of the construct). |
I agree, we have to provide solid reasonable parity for a keyboard-only interaction of this behavior. If we can't (even with
Going to mark this as blocked for now. If anyone has more use cases to share, please do so. |
@sstrubberg @tay1orjones @mbgower In DataStage and CPD we now have multiple issues of customer feedback regarding the lack of Shift+click functionality. Yong Li, the director of MultiCloud Data Integration in Data and AI, has asked me to follow up on this. |
@jjennings7 Super late response, but wanted to followup on the Datagrid as well. The Datagrid is still a table ( I think we’d be open to prototyping and exploring the behaviors, but I’d be cautious about simply changing the Also want to add this bit from @tay1orjones — this would still apply for us as well.
|
I'm pulling @tombrunet in on this, in case he's encountered anything like the interaction in Chrome's history, with multi-select checkboxes using arrow key navigation AND the mutliple selection they've implemented. |
Description
Missing possibility to select and unselect multiple subsequent rows with Shift key, which brakes UX.
You can check expected behaviour using Chrome - History page, where this works as expected.
Justification
IBM application would like to use paginated DataTable with Search input, for tables with 1000+ rows, Example:
For items per page 20:
Steps to reproduce the issue
Try on: http://react.carbondesignsystem.com/?path=/story/datatable--with-selection
Expected: rows from 1-4 are selected
Result: only row 1 and 4 are selected
Fix should work also for unselecting, see Chrome -> History page.
What version of the Carbon Design System are you using?
Tasks
The text was updated successfully, but these errors were encountered: