[wp-trac] [WordPress Trac] #65102: WP_MS_Users_List_Table::display_rows() should emit id="user-{ID}" on <tr> to match WP_Users_List_Table
WordPress Trac
noreply at wordpress.org
Mon Apr 20 05:59:21 UTC 2026
#65102: WP_MS_Users_List_Table::display_rows() should emit id="user-{ID}" on <tr>
to match WP_Users_List_Table
--------------------------+----------------------------------------
Reporter: dd32 | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Users | Version:
Severity: normal | Resolution:
Keywords: has-patch | Focuses: administration, multisite
--------------------------+----------------------------------------
Description changed by sabernhardt:
Old description:
> `WP_Users_List_Table::single_row()` (used on per-site wp-admin/users.php)
> renders each user row with:
>
> <tr id="user-123">...</tr>
>
> …but its network counterpart `WP_MS_Users_List_Table::display_rows()`
> (used on wp-admin/network/users.php) renders:
>
> <tr class="...">...</tr>
>
> No id, no per-user anchor.
>
> This makes it impossible to target a specific user row by ID on the
> network screen using stylesheets, JavaScript, or assistive-tech anchors,
> even though the per-site table supports it. Plugins that decorate /
> restyle specific user rows have to fall back to scraping the bulk-action
> checkbox (#blog_{ID}) and walking .closest('tr') — a brittle workaround.
>
> Expected: `<tr>` on the network Users list carries `id="user-{ID}"` like
> the per-site list.
>
> Actual: No row id at all.
New description:
`WP_Users_List_Table::single_row()` (used on per-site `wp-
admin/users.php`) renders each user row with:
{{{
<tr id="user-123">...</tr>
}}}
…but its network counterpart `WP_MS_Users_List_Table::display_rows()`
(used on `wp-admin/network/users.php`) renders:
{{{
<tr class="...">...</tr>
}}}
No id, no per-user anchor.
This makes it impossible to target a specific user row by ID on the
network screen using stylesheets, JavaScript, or assistive-tech anchors,
even though the per-site table supports it. Plugins that decorate /
restyle specific user rows have to fall back to scraping the bulk-action
checkbox (`#blog_{ID}`) and walking `.closest('tr')` — a brittle
workaround.
Expected: `<tr>` on the network Users list carries `id="user-{ID}"` like
the per-site list.
Actual: No row id at all.
--
--
Ticket URL: <https://core.trac.wordpress.org/ticket/65102#comment:2>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list