-
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
Improve "Visibility" and "Publish" labels in Post Settings #470
Comments
✨ Another great ticket. I will possibly ping you again as this gets implemented. |
It's the Pending Review one that makes no sense to me. (I can't ever tell if those "switches" are on or off, even with a color.) |
@joyously right, maybe worth a separate issue. Just noting other similar switch toggles have a visible on/off label in other parts of the proposed UI: |
A quick comparison of the switch toggles and some label/controls from the current mockups. Apart from small design details to define, should the switch toggles always have a visible on/off state indicator? (for a11y: yes). Also, ideally form labels should not contain links (I know that WP currently does that, but it could be improved). Note: the switch toggles would need some a11y special treatment. It's definitely possible to make them accessible, but I guess this should go in a separate issue. |
To clarify, ideally the Visibility and Publish button should just identify what they do (the underlying available action): The visual presentation of the current settings value should be separated and not be part of the buttons. |
I'd also like to point out this metabox name is "Status & Visibility" but then when I open it, there's no label or control that refers to a "Status". While this may be implicitly clear for experienced WordPress users, I wonder new users wouldn't have a clue what the "status" references in the metabox name is. Quick Classic editor / Gutenberg comparison: |
About the "Visibility" and "Publish" buttons (which actually are labeled with the value of the options) I'd also recommend to have a look at the testing session by @sinabahram recorded by @joedolson at CSUN 2018, starting form minute 8:00 https://youtu.be/qpzyiL7n__0?t=8m and also published on https://make.wordpress.org/accessibility/2018/03/28/accessibility-of-gutenberg-the-state-of-play/
To me, this just confirms the confusion users experience with these buttons. Again, they go against one fundamental web design principle: UI controls should be labeled with the name of the underlying action, not with the current value of the underlying setting. |
I do think it is possible to do both. Again, I’ve volunteered to hop on some free calls and devise some solutions to problems like this if interested?
|
@sinabahram thanks so much. Yep we could try to do both, if there's some consensus from the Gutenberg project leads. In the current WordPress editor, these two bits of information are separated and they use some plain text and a button, for example: text: Visibility: Public Not saying that's ideal, it requires a bit of exploration but hopefully it's a bit clearer. In Gutenberg I'd suggest to try something like: button: Edit visibility: Public and button: Edit publish date: May 2, 2018 3:53 pm or something along those lines. I'd greatly appreciate some help on an important issue you've noticed during your testing session: JAWS doesn't read out the value of the editable fields in the post content. I've created a specific GitHub issue for that but haven't found a solution yet (insert disappointed emoji here): #6002 |
There are known best practices for this stuff, just not written up very well. it’s why folks like me spend so much time with various devs on calls, in person, etc. … Happy to do a bit of a brain dump whenever the willingness and availability exists. Problems like this one should take a few moments to solve, no more, as there are ways of doing so that don’t affect the visual UI and maintain the accessibility for AT users. For example, that needs to be a single control, and we could obviously have the button serve that purpose, then throw aria-hidden on the current status. the single control needs to advertise current state and what will happen if its toggled e.g. “changes to private” or whatever.
|
I've done some brainstorming with @afercia to come up with a solution here... we found one that while doesn't reach the ideal state we'd love to have, it should still be a solid improvement on what is happening now: This approach works by changing the visual slightly, and attaching a The benefit of this approach are:
The remaining issues this approach wouldn't solve are that basically might be even better if "Change visibility" was spelled out entirely, instead of relying on Yet, should be an improvement. Thoughts? |
That seems good! Is there space so visibility v public can stand on one line, or wrap if it needs to for translations? |
If it was only for "Visibility" it might have been possible. However, I think it would be odd to have "Visibility" on one line, and "Publish" on two (note: in the mockup I changed only "Visibility"). For symmetry, and also to avoid potential issue with text going too long in translations, I think both should go on two lines. |
Sorry long thread and I apologise in advance if I've misread or duplicated someone's response. So, if we're aiming for WCAG AA compliance, I'm afraid we're not describing the action of buttons or links when using the date (for example) as the textual description. |
Labels should clearly articulate what the control does so users can understand what the expectations are for using that control and possible results of their actions by using that control. This is good for both usability and accessibility. Also consider the use case of a screen-reader - does the label clearly tell the user what the control is and what it does? |
The latest proposal above (#470 (comment)) will speak:
So it both describes the button ("Visibility" → "Identify the purpose of the interface component.") and the content ("Public"), as well as the state ("collapsed") and the type ("button" → "Check that each label makes the component's purpose clear."). Any reason why you think it doesn't match the requirement? |
Yes: there's no consensus and no progress yet 😄 |
Looking again into this, it's a bit more complicated than how it seems for at least two reasons:
|
@mtias wanted me to check if this is still an issue and what's actionable here. The issue is still valid because the label for the current state is also a button that opens the visibility settings (for "Public") and a date picker (for "Immediately"). I think the most accessible version of this (and possibly the easiest to implement) is doing what the old WP-Admin did: having the current status and an "edit"/"change" button next to the status to change it. Alternatively we could label the current links to have an off-screen, for screenreaders, bit of text that contextualised things. The text could be, for the datepicker: That could work but I think it's a bit more awkward for users and to code. I think putting the change buttons next to the current state would be best, visually using what @folletto mocked up. |
Seems there's finally consensus on the last proposal, see #470 (comment) and it would be great to consider the adjustments proposed in #470 (comment). This issue is waiting to be solved since almost 3 years and a half. It would be great to help it move on 🙂 Milestoning to WordPress 5.6 for visibility. |
Hi @ZebulanStanphill are there any updates for this one? We're checking in as part of a triage session in |
#25170 is blocked by a deep design/accessibility conflict. Trying to add a summary to an accordion is tough since the I get the feeling that perhaps the very idea of trying to fit a summary into an accordion header is fundamentally flawed. If so, we have to find a different way of displaying the current post visibility/status. Not sure how to proceed there. #24024 is waiting for a review and for #24079 to be merged first... and that PR is also waiting for a review. |
Summary of changes I can see since this was last dealt with:
Overall, this has improved; but more importantly, much of the discussion in this issue is now obsolete due to the changes in the underlying system. Perhaps this issue should be closed and the remaining concerns should be opened as new issues? This one is so long and out of date that I'm not sure it's helpful. Appreciate your thoughts on that, @afercia. |
I'd second this opinion. It's also possible/likely that Phase 3 of Gutenberg - covering collaboration and editorial flows will need to address items in this panel - so it would be great to revisit this and open a new issue with the still-relevant details. @afercia - If you have no objection to revisiting this in a new issue - I'll close it out in a week. |
@joedolson @jordesign thanks for the ping. I'd like to also mention that now the visible text and the actual accessible name mismatch so that issuing a voice command for speech recognition software will fail. I'll create a follow-up so and close this one. For history: examples of the current situation as of July 10th 2023 (6 years after this issue was created):
|
Example:
The "Public" and "Immediately" controls in this example don't reflect the available action, instead they reflect the current state of the underlying option. I'd say this is a bit confusing also visually. Additionally, when read out of context, users won't have a clue what, for example, "Immediately" relates to.
UI controls should always be meaningful. Looking at the controls in the current WordPress Publish box, the state and the action are separated and the "Edit" controls have an expanded
screen-reader-text
. Theres a good reason for that. The current design implements what I'd consider without doubts an accessibility regression. Note: this could be implemented also witharia-label
.The text was updated successfully, but these errors were encountered: