-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Data views: Make checkboxes always visible #59175
Comments
While visibility of interface elements can enhance usability, making everything visible by default is almost always not the best approach. Overloading a user interface with too many visible elements at once can lead to clutter, overwhelming users rather than aiding them. It's important to balance visibility with simplicity and to prioritize the presentation of controls based on user tasks and contexts. Effective interface design often involves selectively showing the most relevant options and utilizing progressive disclosure to reveal more options as needed. This approach can help users process information more effectively, making the interface not only more manageable but also more intuitive to navigate. |
Do you have any data, research, and more importantly any user testing to backup this statement? Thanks. |
The benefits of progressive disclosure are pretty well documented, and I see this as a form of that. Showing actions on hover is a pretty standard pattern too, see gmail for example. |
Accessibility guideleins are very well documented as well, since 1999. |
We recently shipped data views in one of our apps and got similar feedback. From one user directly:
|
As far as I know, on mobile viewports, the Grid layout doesn't have a way to select multiple items. I think this is the most important issue. On the other hand, in the Table layout, checkboxes are always visible: At the very least, I think the checkbox should always be visible in the mobile layout. Example implementation: gutenberg/packages/dataviews/src/dataviews-layouts/table/style.scss Lines 82 to 88 in f1f5988
|
@t-hamano - Can I update my PR such that the mobile layout has the checkbox visible and keep as it is for other layouts? Please advice |
@karthick-murugan I've read through this issue from the beginning and it seems like we haven't reached a consensus yet. I think we need some more discussion on this issue before we move forward with #67874. |
Given the Data views will be widely used in the future I think establishing an accessibility princniple here that the checkboxes must be always visible is a very important point. I'd like to hear from other contributors from the Accessibility team @joedolson Aside: I would appreciate a new Github mention handle to be considered for accessibility folks s,g. |
What I'm failing to see here is any argument in favor of hiding the checkboxes. There's a general comment on "showing the most relevant options and utilizing progressive disclosure to reveal more options as needed", and that's completely reasonable. The debate here, I think, is whether or not the checkbox is an interface element that should be hidden - e.g., is it a "less relevant option" in this view? @SaxonF mentions Gmail as an example; but Gmail is an application that shows the checkbox persistently, so that seems like an argument in favor of visible checkboxes. In my opinion there are two basic actions that are the primary actions in these views: select a group of items for bulk manipulation, or navigate to a single item. Neither of them should have primacy over the other; users are just as likely to need to navigate to one item as they are to need to perform a bulk action. To that effect, those two functions should be always apparent. |
Thank you for the discussion and valuable insights. Based on the points raised, particularly regarding the importance of both bulk selection and single-item navigation being equally accessible, I believe making the checkboxes visible by default is the most user-friendly solution. As mentioned by @joedolson, Gmail serves as a good example where checkboxes are persistently displayed, reinforcing the argument for visibility. By keeping the checkboxes always visible, my PR ensures that both primary actions—bulk selection and individual navigation—are consistently available to users without requiring additional steps or progressive disclosure. If there are further suggestions or refinements you'd like to see in the PR, I'd be happy to work on them. Looking forward to the team's feedback! |
Description
In the data views, the checkboxes to select items get only visible on hover or focus. While I understand the intent of making the UI look cleaner, I think the current pattern doesn't help usability and accessibility. Instead of keeping prioritizing visual cleanless as proposed in #59128 and making all controls only visible on hover or focus, I think a better, more understandable, predictable, and self-explanatory user interface needs to make everything visible by default.
Screenshot:
<label>
element. The mouse cursor becomes a pointer. As a useer, I would expect that clicking the title select the checkbox. Instead, the title is a link to the item details (in the screenshot above it's a link to the page). By making the checkboxes always visible, it would be more intuitive that checkbox and title are two separate controls with two different purposes.Step-by-step reproduction instructions
Screenshots, screen recording, code snippet
No response
Environment info
No response
Please confirm that you have searched existing issues in the repo.
Yes
Please confirm that you have tested with all plugins deactivated except Gutenberg.
Yes
The text was updated successfully, but these errors were encountered: