{"id":124832,"date":"2026-08-03T15:27:57","date_gmt":"2026-08-03T15:27:57","guid":{"rendered":"https:\/\/make.wordpress.org\/core\/?p=124832"},"modified":"2026-08-03T15:27:57","modified_gmt":"2026-08-03T15:27:57","slug":"post-list-tables-row-headers-changed","status":"publish","type":"post","link":"https:\/\/make.wordpress.org\/core\/2026\/08\/03\/post-list-tables-row-headers-changed\/","title":{"rendered":"Post list tables row headers changed"},"content":{"rendered":"<p class=\"wp-block-paragraph\">The column used as the primary list table <code>th<\/code> with <code>scope=\"row\"<\/code> was moved from the first column, containing the selection checkbox, to the second column, containing the post title and row actions in <a href=\"https:\/\/core.trac.wordpress.org\/ticket\/32892\">#32892<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This change significantly improves <span tabindex='0' class='glossary-item-container'>accessibility<span class='glossary-item-hidden-content'><span class='glossary-item-header'>Accessibility<\/span> <span class='glossary-item-description'>Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both \u201cdirect access\u201d (i.e. unassisted) and \u201cindirect access\u201d meaning compatibility with a person\u2019s assistive technology (for example, computer screen readers). (https:\/\/en.wikipedia.org\/wiki\/Accessibility)<\/span><\/span><\/span> for post list tables by ensuring that the naming used for screen readers to identify the current row refers consistently to the name of the relevant post, rather than referring to a selection checkbox that may not be present if the post is not currently available for editing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is expected to have an impact on extenders who assign custom styles or use <span tabindex='0' class='glossary-item-container'>JavaScript<span class='glossary-item-hidden-content'><span class='glossary-item-header'>JavaScript<\/span> <span class='glossary-item-description'>JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user\u2019s browser.\r<a href=\"https:\/\/www.javascript.com\/\">https:\/\/www.javascript.com<\/a><\/span><\/span><\/span> to register events using the <code>th.check-column<\/code> selector or similar selectors that expect a checkbox inside the <code>th<\/code> in a posts row.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is also potentially going to impact extenders who target row actions or post titles with the expectation they are inside a <code>td<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Additionally, the <span tabindex='0' class='glossary-item-container'>CSS<span class='glossary-item-hidden-content'><span class='glossary-item-header'>CSS<\/span> <span class='glossary-item-description'>Cascading Style Sheets.<\/span><\/span><\/span> for collapsed table cells in the responsive view port has been updated to use <code>flex<\/code> layout.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What you may need to change<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">CSS and <span tabindex='0' class='glossary-item-container'>JS<span class='glossary-item-hidden-content'><span class='glossary-item-header'>JS<\/span> <span class='glossary-item-description'>JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.<\/span><\/span><\/span> selectors targeting check columns should look for selectors targeting <code>th.check-column<\/code> or <code>th input[type=\"checkbox\"]<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CSS and JS selectors targeting titles or row actions should look for selectors targeting <code>td.title<\/code>, <code>td.column-title<\/code>, <code>td.page-title<\/code>, <code>td.column-primary<\/code>, <code>td .row-title<\/code>, <code>td .post-state<\/code>, <code>td .row-actions<\/code>, or other similar selection patterns.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Retaining both <code>td<\/code> and <code>th<\/code> selectors will support retaining compatibility with versions of WordPress prior to 7.1.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Before and After<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Code Before Change<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"markup\" class=\"language-markup\">&lt;tr&gt;\n  &lt;th scope=\"row\" class=\"check-column\"&gt;\n    &lt;input type=\"checkbox\" name=\"post[]\" value=\"123\"&gt;\n  &lt;\/th&gt;\n  &lt;td class=\"title column-title column-primary page-title\"&gt;\n    &lt;a class=\"row-title\" href=\"...\"&gt;Hello world!&lt;\/a&gt;\n  &lt;\/td&gt;\n  &lt;td class=\"author column-author\"&gt;admin&lt;\/td&gt;\n&lt;\/tr&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>th<\/code> is in the first column, followed by a <code>td<\/code> with the column title.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Code After Change<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"markup\" class=\"language-markup\">&lt;tr&gt;\n  &lt;td class=\"check-column\"&gt;\n    &lt;input type=\"checkbox\" name=\"post[]\" value=\"123\"&gt;\n  &lt;\/td&gt;\n  &lt;th scope=\"row\" class=\"title column-title column-primary page-title\" aria-label=\"Hello world!\"&gt;\n    &lt;a class=\"row-title\" href=\"...\"&gt;Hello world!&lt;\/a&gt;\n  &lt;\/th&gt;\n  &lt;td class=\"author column-author\"&gt;admin&lt;\/td&gt;\n&lt;\/tr&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>th<\/code> is in the second column, with an <code>aria-label<\/code> containing the post title. The <code>check-column<\/code> is now a <code>td<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Reviewed by <\/em><a href=\"https:\/\/profiles.wordpress.org\/wildworks\/\" class=\"mention\"><span class=\"mentions-prefix\">@<\/span>wildworks<\/a>.<\/p>\n<p class=\"o2-appended-tags\"><a href=\"https:\/\/make.wordpress.org\/core\/tag\/7-1\/\" class=\"tag\"><span class=\"tag-prefix\">#<\/span>7-1<\/a>, <a href=\"https:\/\/make.wordpress.org\/core\/tag\/dev-notes\/\" class=\"tag\"><span class=\"tag-prefix\">#<\/span>dev-notes<\/a>, <a href=\"https:\/\/make.wordpress.org\/core\/tag\/dev-notes-7-1\/\" class=\"tag\"><span class=\"tag-prefix\">#<\/span>dev-notes-7-1<\/a><\/p><nav class='o2-post-footer-actions'><ul class='o2-post-footer-action-row'><li class='o2-post-footer-action'><a href=\"https:\/\/login.wordpress.org\/?redirect_to=https%3A%2F%2Fmake.wordpress.org%2Fcore%2F2026%2F08%2F03%2Fpost-list-tables-row-headers-changed%2F%23respond&#038;locale=en_US\" title=\"Login to Reply\"  class=\"genericon  genericon-reply\"  data-action=\"login-to-reply\"  data-actionstate=\"default\" >Login to Reply<\/a><\/li><\/ul><div class='o2-post-footer-action-likes'><\/div><ul class='o2-post-footer-action-row'><\/ul><\/nav>","protected":false},"excerpt":{"rendered":"<p>The column used as the primary list table th with scope=&#8221;row&#8221; was moved from the first column, containing the selection checkbox, to the second column, containing the post title and row actions in #32892. This change significantly improves accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for [&hellip;]<\/p>\n","protected":false},"author":1248163,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1175],"tags":[5885,1443,5894],"class_list":["post-124832","post","type-post","status-publish","format-standard","hentry","category-general","tag-7-1","tag-dev-notes","tag-dev-notes-7-1","mentions-wildworks","author-joedolson"],"revision_note":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2AvED-wtq","jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/posts\/124832","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/users\/1248163"}],"replies":[{"embeddable":true,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/comments?post=124832"}],"version-history":[{"count":10,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/posts\/124832\/revisions"}],"predecessor-version":[{"id":125256,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/posts\/124832\/revisions\/125256"}],"wp:attachment":[{"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/media?parent=124832"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/categories?post=124832"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/tags?post=124832"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}