Empty table header on the People administration page
Problem/Motivation
The table at /admin/people contains an empty column header for the bulk-selection checkbox column:
<th class="select-all views-field views-field-user-bulk-form gin--sticky-bulk-select" scope="col"></th>The header has no text or accessible name. Sighted users can infer the column's purpose from the checkboxes, but assistive technology users are not given an equivalent description.
axe-core reports this as empty-table-header. The issue relates to WCAG 2.2 Success Criterion 1.3.1, Info and Relationships.
Bug ID: MS-25d32bca (instance) / MS-61380df7 (pattern)
X-Path: //table/thead/tr/th[1]
Steps to reproduce
- Sign in as a user who can administer users.
- Open
/admin/people. - Inspect the first
<th>in the table. - Run axe-core and observe the
empty-table-headerfailure.
Actual result: The bulk-selection column has an empty header.
Expected result: The header programmatically identifies the column's purpose.
Proposed resolution
Add concise, translatable text to the shared rendering logic for bulk-selection headers. Visually hidden text is preferred:
<th class="select-all views-field views-field-user-bulk-form" scope="col"> <span class="visually-hidden">Select users</span> </th>
If the same code is used by other tables, a generic label such as Select rows
may be more appropriate.
Remaining tasks
- Identify the shared rendering code responsible for the empty header.
- Confirm whether other bulk-selection tables are affected.
- Add automated regression coverage.
- Verify the result with axe-core and a screen reader.
User interface changes
No visible change is expected. Assistive technology users will receive a meaningful name for the selection column.
Introduced terminology
None.
API changes
No public API changes are expected. The rendered HTML will gain an accessible name for the bulk-selection header.
Data model changes
None.
Release notes snippet
Not required.
Issue fork drupal-3612047
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
mgiffordComment #3
mgiffordComment #4
mgiffordComment #6
mgifforddelete
Comment #7
mgiffordComment #8
mgifford