-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Popovers with form controls for settings should use Cancel and Save buttons #63310
Comments
Note: the Excerpt popover is a special case. When testing, you will notice that changes to the excerpt are saved only after tabbing away from the textarea (onblur). This is inconsistent with other popovers and is even more disorienting. When pressing Escape after a change and with the keyboard focus still in the textarea, the changes are not saved. Noting that the Excerpt pattern is used also for editing other properties e.g. the Template description. Screenshot: |
Would these dialogs benefit from a "revert" action?
|
Why on earth does Author open a pop over to then open a drop down list? This is just another bizarre set of design decisions pushed to core half-baked. I imagine it'll be neigh on impossible to get this reverted so I'd normally say this just needs a cancel and save button. But then if you click save and then don't update the page does it save? Painted ourselves into a corner with this one. |
These interactions are incredibly murky; the usability is extremely poor, and the lack of explicit information about how to either keep or discard a change is a major problem for usability and accessibility. @jeryj If you have a chance to look at this, I'd appreciate it; I know that Andrea is off for the rest of the month. |
For all issues mentioned, I just want to add my voice to this. They are right. Moving the excerpt up in the sidebar was well intended, but improving the UI by making it accessible is a must. |
Yeah. The Author one is even more puzzling. It violates one more principle for select elements explained in this Trac ticket;. Besides that, I think I've never seen in more than 20 years of professional career such an UI where users have to click to open an UI that contains only one select with no 'apply' button to confirm the selection and no Save / Cancel buttons. WordPress is an open source project where contributions from anyone are blessed and welcomed. I'm not surprised that, sometimes, some proposed design changes aren't great. However, I'm very surprised that this was merged and released. This change should have been gone through a broader discussion. It should have been considered better and, more importantly, gone through some user testing. I'd like to be very clear that this isn't to blame individual contributors in this project. Rather, it's the process in place that doesn't guarantee the level of quality I'd expect for WordPress. It's the process that needs to be changed. After more than 10 years of contribution to WordPress and 7 years of life of the Gutenberg project, I'm not sure this is the kind of design I'd like to see. It's not up to what I would expect in terms of quality in WordPress. I think I'm not alone. Reporting some random comments from this X thread:
|
Digging into the work that implemented this in #60894. There are comments about adding Done/Cancel buttons, which I like more than Save because of the potential confusion around when it's really saved. Here's the issue about the thought processes behind these changes. |
I'd apply the buttons to all such popovers. Whether it's a save/cancel or apply/cancel, to me buttons are the only way to avoid any confusion and clearly provide ways to close/cancel and close/apply. The 'React way' to set values onChange and update on the fly may be OK for inputs and controls that are part of a form that lives in an UI that is always visible. Instead, it's extremely confusing for UIs that live in a separate 'window-like' UI like a popover. A popover resembles a dialog window where I'd expect cleaer ways to:
Instead, the 'on the fly saving and updating' pattern is extremely confusing when used for a dialog-like UI. |
I think the text 'Save' should only be used if there will actually be a change made to the database; otherwise, 'Done' or 'Apply' should be used (preferably only one of those, and consistently throughout.) Using the word 'Save' conveys a very specific sense in the UI, and I think isn't the right term in most of these cases. I agree with @jeryj that some of these popovers seem really unnecessary, as well, but that's kind of a separate issue. |
Description
In the new Post summary panel, some settings previously placed within collapsible panels have been moved to Popovers.
This made more evident some pre-existing accessibility issues with this pattern, especially in terms of keyboard interaction.
There are some long established conventions when it comes to keyboard interaction and UI dialogs / popovers. To me, the two most important ones in this case are. As a user:
Instead, when usign the keyboard in most of these popovers the only way to close the popover is to press the Escape key or the X close button but that doesn't reverts or cancel. The changed values are already saved on the
onChange
event. This isn;t what I would expect.I'd like to collect some feedback from more accessibility specialists cc @joedolson. In my opinion, in this kind of popovers saving should always performed after an explicit user action. This is different from an input or other controls placed 'inline' in the UI, where it may make sense to save on change. The expectation in a popover or dialog is to explicitly Cancel or Save and I'd think the only way to improve the user experience and interaction is by adding Cancel and Save buttons.
A few screenshots of this design pattern in some of the editor popovers:
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: