WordPress / gutenberg

The Block Editor project for WordPress and beyond. Plugin is available from the official repository.
https://wordpress.org/gutenberg/
Other
10.52k stars 4.21k forks source link

Post Summary Panel: Change the "Publish" label to a more accurate label #63342

Open t-hamano opened 4 months ago

t-hamano commented 4 months ago

What problem does this address?

As I understand it, the word "Publish" is only used as a verb. Therefore, I think it is appropriate to leave the blue button in the upper right as "Publish".

image

On the other hand, the same word "Publish" is used in the summary panel. It feels strange that this label is the only one that is a verb, while all the other labels are nouns.

image

Perhaps the word "Publish" can cover both the meaning of a verb and a noun in English, but this translatable string does not have any additional context.

Therefore, it is not possible to apply a context-sensitive translation in locales other than English.

What is your proposed solution?

I would like to suggest using a more accurate label other than "Publish" in the summary panel.

If we want to follow the label in the classic editor, "Published on" might be good.

image

Alternatively, I would like to suggest the text "Published date".

cc @WordPress/gutenberg-design @afercia

afercia commented 4 months ago

@t-hamano good point. I'd agree the verb sounds a bit out of place there. In a way this was also noted in an user session long time ago, see https://github.com/WordPress/gutenberg/issues/470#issuecomment-386804617

"Publish" is weird to me, it seems like an action but it's just text ...

Couple more considerations:

The default date/time value when creating a new post is Immediately, which is likely the reason why this visual label was changed to Publish. The new wording should complement well with Immediately.

The verb Publish is used also as the title of the calendar popover. I'd think it could be improved there as well. Scrsenshot:

Screenshot 2024-07-10 at 10 23 23

jameskoster commented 4 months ago

Date information is a bit messy. In data views there is a "Date" field which conditionally displays one of the following:

Then there's this "Publish" control in the Inspector, which communicates just the publish date for both published and unpublished posts.

Would it make sense to tidy this up a bit? For instance we might store separately the publish date and the modified date. This would be handy in data views because it would allow you to sort with more granularity, e.g. view published posts sorted by last modified. This could also inform the labelling in the Inspector; with two such fields you might expect them to be named "Modified date" and "Publish date". So in the Inspector we'd simply update "Publish" to "Publish date".

Slightly tangential, but I would also pose that the "Publish date" control is not shown at all for draft posts, which would circumvent the awkward "Publish date: Immediately" language. "Publish date" only really makes sense when the post is scheduled, or already published. Otherwise it seems reasonable to assume that a publish action would result in an immediate publish date.

afercia commented 4 months ago

Worth noting the Publish date popover does have an aria-label="Change publish date".

The popover doesn't have an ARIA role though so this is just exposed as a labeled generic element. Some screen readers will announce it as group, which is arguably correct. Other popovers are labeled as well.

afercia commented 3 months ago

A couple more considerations:

The adverb 'immediately' I don't like that it is not used consistently. In the Panel it's 'immediately' but in the calendar popover is 'Now'. This inconsistency doesn't help users to immediately understand what 'Now' does. I'd argue that whether it's 'immediately' or 'Now', the UI should use the same term everywhere. Screenshot:

Screenshot 2024-07-25 at 14 26 45

The publish date/time label I'm not saying that it is necessarily better but I'd like to remind everyone that in Classic editor the visual label for the publish date/time is dynamic and it changes depending whether the selected date / time is in the past, in the future or 'now':

Screenshot 2024-07-25 at 14 27 36

t-hamano commented 3 months ago

I'm not saying that it is necessarily better but I'd like to remind everyone that in Classic editor the visual label for the publish date/time is dynamic and it changes depending whether the selected date / time is in the past, in the future or 'now':

This is interesting. Would it make sense to apply this dynamic labeling to the block editor as well?

but in the calendar popover is 'Now'. This inconsistency doesn't help users to immediately understand what 'Now' does.

Wouldn't it be easier to understand what "Now" means by changing the title of the popover to "Publish date"?

image

Either way, when using the term "Publish" as a label, I believe some context is needed, for example:

_x( 'Publish', 'as label' );
afercia commented 3 months ago

Wouldn't it be easier to understand what "Now" means by changing the title of the popover to "Publish date"?

That would help. To me, one of the most weird things is when starting from a publish date / time:

Screenshot 2024-07-25 at 15 59 37

and then I click 'Now' in the Popover, the date / time changes to 'Immediately':

Screenshot 2024-07-25 at 15 59 57

as a user, I would expect it to change to 'Now' because, well, I just clicked a button that says 'Now'. Or, the other way around: they should both be labeled 'Immediately'.

Either way, when using the term "Publish" as a label, I believe some context is needed,

Good point, the _x() translation function would help.

jameskoster commented 3 months ago

Now that Status is a dedicated, editable field I'm curious whether we need to display the publish date for unpublished pages.

Setting a publish date for a draft feels a bit strange because it means the page is no longer a draft; it's scheduled. It's very easy for these two fields to end up in an incompatible state, and there's a lot of code behind the scenes to avoid that happening.

I tend to lean toward intrinsically linking the status & publish date control, something roughly like this:

Mockup showing the 'Status & visibility' popover, with inline date field

This feels a bit more natural to use, and avoids the aforementioned incompatibilities. In the short term we might try conditionally showing/hiding the "Publish" row in the Summary panel.

t-hamano commented 3 months ago

When I write a personal blog, I sometimes decide the publish date I want in advance and set the status to Draft until the article is completed. I think there are many other cases where the publish date is decided in advance, such as WordPress release announcement articles.

For this reason, I prefer to have the publication date always displayed.

jameskoster commented 3 months ago

Thanks for sharing that context, I can see it's a workflow that makes sense in certain situations.

Changing the "Publish" to "Publish date" and aligning the "Now" and "Immediately" labels seems like a good change to me.

It's probably separate but I don't love the UI/UX for the "Now" button. The interaction with the calendar isn't immediately obvious... I wonder if it should be more connected, and use a more conventional control:

date
t-hamano commented 3 months ago

I wonder if it should be more connected, and use a more conventional control:

This is a great idea and I think it could be pursued in parallel with this issue 👍

afercia commented 2 months ago

I don't love the UI/UX for the "Now" button. The interaction with the calendar isn't immediately obvious... I wonder if it should be more connected, and use a more conventional control:

Yes I'd totally agree. The only concern is that if the default is 'Now', to switch to the calendar and set a date I'd have to click one more time. We're also assuming that 'Now' is the most used choice, while it isn't necessarily true. How about let users decide whether to 'stick' to the 'Now' option or to the 'Choose a date' one?

jameskoster commented 2 months ago

@afercia you mean make the default selection an editor preference, or a site setting? That seems reasonable, but perhaps a separate endeavour?

@t-hamano do you think this one is ready for dev?

afercia commented 2 months ago

@afercia you mean make the default selection an editor preference, or a site setting? That seems reasonable, but perhaps a separate endeavour?

@jameskoster definitely can be split in a separate issue for broader discussion. I'd tend to think each user may have a personal preference or editorial flow where one of the 'Now' or 'Choose a date' options would be the most used one. As such, I'd tend to think it should be a user preference for the editor. Also, I'd tend to think the control to set the preference should be 'in place' e.g. something like 'Make this the default choice'.