From eea7f83a055762287385285788bb5f85f95512dc Mon Sep 17 00:00:00 2001 From: Joe Dolson Date: Sun, 28 Jun 2026 14:38:32 -0500 Subject: [PATCH 1/5] Add aria-describedby to post link with hierarchy info Conveys the immediate parent, if assigned. Moves dash characters out of the link so they don't impact naming. --- src/wp-admin/includes/class-wp-posts-list-table.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/wp-admin/includes/class-wp-posts-list-table.php b/src/wp-admin/includes/class-wp-posts-list-table.php index 18c76169eb81c..efc742cf294e4 100644 --- a/src/wp-admin/includes/class-wp-posts-list-table.php +++ b/src/wp-admin/includes/class-wp-posts-list-table.php @@ -1131,17 +1131,23 @@ public function column_title( $post ) { echo '
' . $locked_avatar . ' ' . $locked_text . "
\n"; } - $pad = str_repeat( '— ', $this->current_level ); + $pad = str_repeat( ' ', $this->current_level ); + $described = ''; echo ''; $title = _draft_or_post_title(); if ( $can_edit_post && 'trash' !== $post->post_status ) { printf( - '%s%s', + '%2$s%3$s%4$s', get_edit_post_link( $post->ID ), $pad, - $title + $title, + $described ); } else { printf( From 8957b77d81395d296f60c1cae84c257bfb962f86 Mon Sep 17 00:00:00 2001 From: Joe Dolson Date: Sun, 28 Jun 2026 14:45:34 -0500 Subject: [PATCH 2/5] Verify var is set --- src/wp-admin/includes/class-wp-posts-list-table.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wp-admin/includes/class-wp-posts-list-table.php b/src/wp-admin/includes/class-wp-posts-list-table.php index efc742cf294e4..fd82cc3ce6957 100644 --- a/src/wp-admin/includes/class-wp-posts-list-table.php +++ b/src/wp-admin/includes/class-wp-posts-list-table.php @@ -1133,7 +1133,7 @@ public function column_title( $post ) { $pad = str_repeat( ' ', $this->current_level ); $described = ''; From cd1a87f7fa3f006bfdbb8319fa310eaedc6c1f3f Mon Sep 17 00:00:00 2001 From: Joe Dolson Date: Sun, 28 Jun 2026 14:47:30 -0500 Subject: [PATCH 3/5] Pass post ID and use --- src/wp-admin/includes/class-wp-posts-list-table.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/wp-admin/includes/class-wp-posts-list-table.php b/src/wp-admin/includes/class-wp-posts-list-table.php index fd82cc3ce6957..b6d6f4f2aa2c3 100644 --- a/src/wp-admin/includes/class-wp-posts-list-table.php +++ b/src/wp-admin/includes/class-wp-posts-list-table.php @@ -1143,11 +1143,12 @@ public function column_title( $post ) { if ( $can_edit_post && 'trash' !== $post->post_status ) { printf( - '%2$s%3$s%4$s', + '%2$s%3$s%4$s', get_edit_post_link( $post->ID ), $pad, $title, - $described + $described, + $post->ID ); } else { printf( From 88f06c5812cb1e3d04f0043eb87ee49bdb61aa09 Mon Sep 17 00:00:00 2001 From: Joe Dolson Date: Sun, 28 Jun 2026 14:48:06 -0500 Subject: [PATCH 4/5] Wrong num --- src/wp-admin/includes/class-wp-posts-list-table.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wp-admin/includes/class-wp-posts-list-table.php b/src/wp-admin/includes/class-wp-posts-list-table.php index b6d6f4f2aa2c3..cfc5c57c49402 100644 --- a/src/wp-admin/includes/class-wp-posts-list-table.php +++ b/src/wp-admin/includes/class-wp-posts-list-table.php @@ -1143,7 +1143,7 @@ public function column_title( $post ) { if ( $can_edit_post && 'trash' !== $post->post_status ) { printf( - '%2$s%3$s%4$s', + '%2$s%3$s%4$s', get_edit_post_link( $post->ID ), $pad, $title, From dadf5fc989ea97c7941d79100e5317a70eeb7543 Mon Sep 17 00:00:00 2001 From: Joe Dolson Date: Sun, 28 Jun 2026 14:58:41 -0500 Subject: [PATCH 5/5] Switch so not dependent on second page wrappers. --- src/wp-admin/includes/class-wp-posts-list-table.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/wp-admin/includes/class-wp-posts-list-table.php b/src/wp-admin/includes/class-wp-posts-list-table.php index cfc5c57c49402..fee23748d0723 100644 --- a/src/wp-admin/includes/class-wp-posts-list-table.php +++ b/src/wp-admin/includes/class-wp-posts-list-table.php @@ -1133,8 +1133,10 @@ public function column_title( $post ) { $pad = str_repeat( ' ', $this->current_level ); $described = ''; echo '';