Make WordPress Core

Opened 18 months ago

Last modified 3 months ago

#26160 new enhancement

More semantic markup for the post formats metabox

Reported by: tsiger Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version: 3.7
Component: Post Formats Keywords: has-patch
Focuses: ui, accessibility, administration Cc:


I think there is room for improvement in the markup used to populate the post formats list in the metabox which currently looks like:


Instead of using a div as a container and br tags to keep things in place as a list I replaced the div with ul and put every post format item within a li and now looks like:


I think it's semantically better now (it's a list of items after all). Checked the appearance in all major browsers (RTL too) and looks the same.

Also it is easier now for someone to target with CSS only a specific post format radio button and possible apply some extra styles to its container (li).

Attachments (2)

meta-boxes.php.patch (2.0 KB) - added by tsiger 18 months ago.
26160.patch (1.2 KB) - added by joedolson 3 months ago.
Use fieldset/legend.

Download all attachments as: .zip

Change History (13)

@tsiger18 months ago

comment:1 @tsiger18 months ago

  • Summary changed from Proposed HTML changes for the post formats metabox in the Add to Proposed HTML changes for the post formats metabox

comment:2 @SergeyBiryukov18 months ago

  • Version changed from trunk to 3.7

comment:3 @helen3 months ago

  • Focuses ui accessibility administration added

Would like to hear from a11y folks if this is helpful, hurtful, or doesn't matter for screen readers and anything else that might be impacted by the markup change.

comment:4 @joedolson3 months ago

I'm not sure it makes a huge difference. It means that screen reader users will probably get notified twice about the number of items in the list - with radio button groups, screen readers generally indicate how many items there are in the radio button group; they also announce how many items are in a list.

I'd like a second opinion on this - I'm going both ways on it: it is a more semantic choice to have this in a list, but it also means that essentially redundant information is being announced for screen reader users. From a usability perspective, I think it makes the experience worse.

Last edited 3 months ago by joedolson (previous) (diff)

comment:5 @slackbot3 months ago

This ticket was mentioned in Slack in #accessibility by joedolson. View the logs.

comment:6 follow-up: @rianrietveld3 months ago

Why not use as container a fieldset, remove the <br> and let the css decide the layout (inline-block/block). Adding an extra layer of HTML seems not necessary to me, you can style it any way you want, and don't need a <ul> for that.

comment:7 in reply to: ↑ 6 @afercia3 months ago

Replying to rianrietveld:

Why not use as container a fieldset, remove the <br>

+1 for a fieldset, with a nice, screen-reader-text'ed legend too :). Screen readers will read out the legend as "{legend text} grouping", or similar.

comment:8 @helen3 months ago

  • Keywords has-patch removed

@rianrietveld @afercia Do you feel that we need to make changes to this specific metabox, as in would you consider the fieldset suggestion to be necessary?

comment:9 @afercia3 months ago

@helen, fieldset + legend would be a nice addition. Without them users land on these radio buttons and hear just "video", "audio", etc. with no clue what that actually means. With no initial clue, at least :) With a fieldset+legend they would hear "{legend text} grouping". Press This already uses:

<fieldset><legend class="screen-reader-text"><?php _e( 'Post formats' ); ?></legend>

comment:10 @helen3 months ago

  • Keywords needs-patch added
  • Summary changed from Proposed HTML changes for the post formats metabox to More semantic markup for the post formats metabox

@joedolson3 months ago

Use fieldset/legend.

comment:11 @joedolson3 months ago

  • Keywords has-patch added; needs-patch removed
Note: See TracTickets for help on using tickets.