Make WordPress Core

Opened 11 years ago

Last modified 4 weeks ago

#32892 assigned defect (bug)

List table: Select %s shouldn't be a row header

Reported by: afercia's profile afercia Owned by:
Milestone: 7.0 Priority: normal
Severity: normal Version: 4.2
Component: Administration Keywords: has-patch
Focuses: ui, accessibility Cc:

Description

See related #31654 and #26167.

In all the List Tables in the admin, the "Select %s" (where %s is the name of the Post, Attachment, Plugin, User, etc,) is used as row header:

<th scope="row" class="check-column">

This is not correct from a semantics and accessibility point of view for all the reasons mentioned in #31654. The row header should be the cell with the main object the table refers to: the Post title, the Plugin name, etc.

We could also consider to use the abbr attribute: http://www.w3.org/TR/html5/tabular-data.html#attr-th-abbr
that would be consistent with what is currently proposed in sortable column headers ticket

Attachments (1)

32892.patch (1.9 KB) - added by abcd95 8 months ago.
rought implementation

Download all attachments as: .zip

Change History (14)

#1 @afercia
11 years ago

  • Owner set to afercia
  • Status changed from new to assigned

#2 @afercia
10 years ago

  • Keywords 4.4-early removed

One more good reason to address this issue is that, when a post is locked and the lock icon appears, the icon has no label or text that can be announced so screen readers will read out the column header "Select All";

https://cldup.com/KBazRCctl3.png

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


9 years ago

#4 @afercia
7 years ago

  • Owner afercia deleted

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


10 months ago

@abcd95
8 months ago

rought implementation

#6 @abcd95
8 months ago

  • Keywords needs-patch removed

This is a rough implementation and a thought put into existence. This doesn't account for the styling and CSS ruleset changes. I want opinions on whether this is the right direction to move forward.

Version 0, edited 8 months ago by abcd95 (next)

This ticket was mentioned in PR #9761 on WordPress/wordpress-develop by @abcd95.


5 months ago
#7

  • Keywords has-patch added

@abcd95 commented on PR #9761:


5 months ago
#8

Other list tables, such as the Users list and multi-site tables, are yet to be updated. Additionally, the styling has been affected, which I will address in the subsequent commits.

@abcd95 commented on PR #9761:


5 months ago
#9

The styles of the plugins list table and highly coupled, and removing padding on unselected rows is affecting other headers. Debugging deeper into this -

https://github.com/user-attachments/assets/40799432-d840-45df-a424-ca097078949d

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


3 months ago

#11 follow-up: @joedolson
3 months ago

  • Milestone changed from Future Release to 7.0

Thanks for your work on this, @abcd95!

I think that the direction is valid, although I'm a little concerned that that row actions will pollute the name too much. That might need testing with users, to see if it's too annoying.

The excerpt is also in the name cell in extended view, and that could make it even worse.

#12 in reply to: ↑ 11 @abcd95
3 months ago

Replying to joedolson:

I think that the direction is valid, although I'm a little concerned that that row actions will pollute the name too much.

Thanks for the feedback, @joedolson

Regarding the concerns about row actions and excerpts "polluting" the name cell -
You're right that this warrants testing. The row actions are semantically related to the row item (title/name), so having them within the <th scope="row"> makes logical sense from an accessibility standpoint (I'm gonna defer to your judgement here tho). I also understand your concern about the verbosity.

Could we -

  • Explore using aria-labelledby or aria-describedby to separate the core identification (title) from supplementary content (actions/excerpt)
  • Consider moving the excerpt outside the <th> into a separate <td> in a new row (similar to how plugin descriptions work)

Looking forward to what other contributos have to say about this. Thanks for helping out with this one.

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


4 weeks ago

Note: See TracTickets for help on using tickets.