From b8f28f9ade2e88163f11ee31efb39a7ff04a4f48 Mon Sep 17 00:00:00 2001 From: Joe Dolson Date: Fri, 21 Feb 2025 16:46:34 +0000 Subject: [PATCH] Themes: Support `:focus-visible` in theme.json. Add the `:focus-visible` pseudo selector as a valid element in the `theme.json` schema. See also https://github.com/WordPress/gutenberg/pull/68521. Props huubl, audrasjb, poena, sabernhardt, afercia, annebovelett. Fixes #62906. git-svn-id: https://develop.svn.wordpress.org/trunk@59854 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/class-wp-theme-json.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/wp-includes/class-wp-theme-json.php b/src/wp-includes/class-wp-theme-json.php index dafbfb405c..cf8b7961e5 100644 --- a/src/wp-includes/class-wp-theme-json.php +++ b/src/wp-includes/class-wp-theme-json.php @@ -578,7 +578,7 @@ class WP_Theme_JSON { /** * Defines which pseudo selectors are enabled for which elements. * - * The order of the selectors should be: link, any-link, visited, hover, focus, active. + * The order of the selectors should be: link, any-link, visited, hover, focus, focus-visible, active. * This is to ensure the user action (hover, focus and active) styles have a higher * specificity than the visited styles, which in turn have a higher specificity than * the unvisited styles. @@ -588,11 +588,12 @@ class WP_Theme_JSON { * * @since 6.1.0 * @since 6.2.0 Added support for ':link' and ':any-link'. + * @since 6.8.0 Added support for ':focus-visible'. * @var array */ const VALID_ELEMENT_PSEUDO_SELECTORS = array( - 'link' => array( ':link', ':any-link', ':visited', ':hover', ':focus', ':active' ), - 'button' => array( ':link', ':any-link', ':visited', ':hover', ':focus', ':active' ), + 'link' => array( ':link', ':any-link', ':visited', ':hover', ':focus', ':focus-visible', ':active' ), + 'button' => array( ':link', ':any-link', ':visited', ':hover', ':focus', ':focus-visible', ':active' ), ); /**