Commit 5c09ed3ccb for wordpress.org
commit 5c09ed3ccb354b0553e9b59c2876be0fc40574ca
Author: joedolson <joedolson@git.wordpress.org>
Date: Sat Oct 10 15:23:52 2026 +0000
Admin: Add tooltip support to toggle tips.
Make the control's accessible name visible on hover and focus for toggle tip controls, so that keyboard and sighted users can discover the name of the control.
Developed in https://github.com/WordPress/wordpress-develop/pull/12532.
Props iamchitti, d-signed, audrasjb, joedolson, sgastard, nicoblandel, battelfred.
Fixes #65633.
Built from https://develop.svn.wordpress.org/trunk@64292
git-svn-id: http://core.svn.wordpress.org/trunk@63442 1a063a9b-81f0-0310-95a4-ce76da25c4cd
diff --git a/wp-admin/css/wp-tooltip-rtl.css b/wp-admin/css/wp-tooltip-rtl.css
index 73eb65e453..4b41978156 100644
--- a/wp-admin/css/wp-tooltip-rtl.css
+++ b/wp-admin/css/wp-tooltip-rtl.css
@@ -68,7 +68,8 @@
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08);
}
-.wp-tooltip.wp-is-tooltip .wp-tooltip__bubble {
+.wp-tooltip.wp-is-tooltip .wp-tooltip__bubble,
+.wp-tooltip .wp-tooltip__hint {
background: #000;
color: #f0f0f0;
text-align: center;
@@ -76,7 +77,7 @@
line-height: 1.4;
}
-.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__text {
+.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint) .wp-tooltip__text {
display: block;
padding-inline-end: 24px;
}
@@ -95,13 +96,14 @@
position-try-fallbacks: flip-block, flip-inline;
}
- .wp-tooltip.wp-is-tooltip .wp-tooltip__bubble {
+ .wp-tooltip.wp-is-tooltip .wp-tooltip__bubble,
+ .wp-tooltip .wp-tooltip__hint {
margin: 0;
}
/* Arrow: gray border (::before) under a white fill (::after). */
- .wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble::before,
- .wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble::after {
+ .wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint)::before,
+ .wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint)::after {
content: "";
position: absolute;
top: 100%;
@@ -112,12 +114,12 @@
border-bottom: 0;
}
- .wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble::before {
+ .wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint)::before {
margin-right: -8px;
border-top-color: #c3c4c7;
}
- .wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble::after {
+ .wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint)::after {
margin-right: -7px;
border-width: 7px;
border-bottom: 0;
diff --git a/wp-admin/css/wp-tooltip-rtl.min.css b/wp-admin/css/wp-tooltip-rtl.min.css
index 13546d31cc..8d2c56cdd5 100644
--- a/wp-admin/css/wp-tooltip-rtl.min.css
+++ b/wp-admin/css/wp-tooltip-rtl.min.css
@@ -1,2 +1,2 @@
/*! This file is auto-generated */
-.wp-tooltip{display:inline-flex;align-items:center}.wp-tooltip .wp-tooltip__close,.wp-tooltip .wp-tooltip__toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:2px;background:0 0;color:#50575e;cursor:pointer}.wp-tooltip .wp-tooltip__close:focus,.wp-tooltip .wp-tooltip__close:hover,.wp-tooltip:not(:has(button[aria-disabled=true],button[disabled])) .wp-tooltip__toggle:focus,.wp-tooltip:not(:has(button[aria-disabled=true],button[disabled])) .wp-tooltip__toggle:hover{color:var(--wp-admin-theme-color,#3858e9)}.wp-tooltip .wp-tooltip__close:focus,:where(.wp-tooltip:not(:has(button[aria-disabled=true],button[disabled]))) .wp-tooltip__toggle:focus{outline:2px solid transparent;box-shadow:0 0 0 var(--wp-admin-border-width-focus,1.5px) var(--wp-admin-theme-color,#3858e9)}.wp-tooltip .wp-tooltip__toggle .dashicons{width:20px;height:20px;font-size:20px}.wp-tooltip .wp-tooltip__close .dashicons{width:18px;height:18px;font-size:18px}.wp-tooltip .wp-tooltip__bubble{max-width:min(280px,calc(100vw - 32px));margin:auto;padding:12px 16px;overflow:visible;border:1px solid #c3c4c7;border-radius:4px;background:#fff;color:#1d2327;font-size:13px;font-weight:400;line-height:1.5;text-align:right;box-shadow:0 3px 6px rgba(0,0,0,.08)}.wp-tooltip.wp-is-tooltip .wp-tooltip__bubble{background:#000;color:#f0f0f0;text-align:center;padding:4px 8px;line-height:1.4}.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__text{display:block;padding-inline-end:24px}.wp-tooltip .wp-tooltip__close{position:absolute;top:6px;inset-inline-end:6px}@supports (anchor-name:--a){.wp-tooltip .wp-tooltip__bubble{position-area:top;margin:0 0 8px;position-try-fallbacks:flip-block,flip-inline}.wp-tooltip.wp-is-tooltip .wp-tooltip__bubble{margin:0}.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble::after,.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble::before{content:"";position:absolute;top:100%;right:50%;width:0;height:0;border:8px solid transparent;border-bottom:0}.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble::before{margin-right:-8px;border-top-color:#c3c4c7}.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble::after{margin-right:-7px;border-width:7px;border-bottom:0;border-top-color:#fff}}
\ No newline at end of file
+.wp-tooltip{display:inline-flex;align-items:center}.wp-tooltip .wp-tooltip__close,.wp-tooltip .wp-tooltip__toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:2px;background:0 0;color:#50575e;cursor:pointer}.wp-tooltip .wp-tooltip__close:focus,.wp-tooltip .wp-tooltip__close:hover,.wp-tooltip:not(:has(button[aria-disabled=true],button[disabled])) .wp-tooltip__toggle:focus,.wp-tooltip:not(:has(button[aria-disabled=true],button[disabled])) .wp-tooltip__toggle:hover{color:var(--wp-admin-theme-color,#3858e9)}.wp-tooltip .wp-tooltip__close:focus,:where(.wp-tooltip:not(:has(button[aria-disabled=true],button[disabled]))) .wp-tooltip__toggle:focus{outline:2px solid transparent;box-shadow:0 0 0 var(--wp-admin-border-width-focus,1.5px) var(--wp-admin-theme-color,#3858e9)}.wp-tooltip .wp-tooltip__toggle .dashicons{width:20px;height:20px;font-size:20px}.wp-tooltip .wp-tooltip__close .dashicons{width:18px;height:18px;font-size:18px}.wp-tooltip .wp-tooltip__bubble{max-width:min(280px,calc(100vw - 32px));margin:auto;padding:12px 16px;overflow:visible;border:1px solid #c3c4c7;border-radius:4px;background:#fff;color:#1d2327;font-size:13px;font-weight:400;line-height:1.5;text-align:right;box-shadow:0 3px 6px rgba(0,0,0,.08)}.wp-tooltip .wp-tooltip__hint,.wp-tooltip.wp-is-tooltip .wp-tooltip__bubble{background:#000;color:#f0f0f0;text-align:center;padding:4px 8px;line-height:1.4}.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint) .wp-tooltip__text{display:block;padding-inline-end:24px}.wp-tooltip .wp-tooltip__close{position:absolute;top:6px;inset-inline-end:6px}@supports (anchor-name:--a){.wp-tooltip .wp-tooltip__bubble{position-area:top;margin:0 0 8px;position-try-fallbacks:flip-block,flip-inline}.wp-tooltip .wp-tooltip__hint,.wp-tooltip.wp-is-tooltip .wp-tooltip__bubble{margin:0}.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint)::after,.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint)::before{content:"";position:absolute;top:100%;right:50%;width:0;height:0;border:8px solid transparent;border-bottom:0}.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint)::before{margin-right:-8px;border-top-color:#c3c4c7}.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint)::after{margin-right:-7px;border-width:7px;border-bottom:0;border-top-color:#fff}}
\ No newline at end of file
diff --git a/wp-admin/css/wp-tooltip.css b/wp-admin/css/wp-tooltip.css
index e72c51a727..856de7e0bc 100644
--- a/wp-admin/css/wp-tooltip.css
+++ b/wp-admin/css/wp-tooltip.css
@@ -67,7 +67,8 @@
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08);
}
-.wp-tooltip.wp-is-tooltip .wp-tooltip__bubble {
+.wp-tooltip.wp-is-tooltip .wp-tooltip__bubble,
+.wp-tooltip .wp-tooltip__hint {
background: #000;
color: #f0f0f0;
text-align: center;
@@ -75,7 +76,7 @@
line-height: 1.4;
}
-.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__text {
+.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint) .wp-tooltip__text {
display: block;
padding-inline-end: 24px;
}
@@ -94,13 +95,14 @@
position-try-fallbacks: flip-block, flip-inline;
}
- .wp-tooltip.wp-is-tooltip .wp-tooltip__bubble {
+ .wp-tooltip.wp-is-tooltip .wp-tooltip__bubble,
+ .wp-tooltip .wp-tooltip__hint {
margin: 0;
}
/* Arrow: gray border (::before) under a white fill (::after). */
- .wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble::before,
- .wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble::after {
+ .wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint)::before,
+ .wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint)::after {
content: "";
position: absolute;
top: 100%;
@@ -111,12 +113,12 @@
border-bottom: 0;
}
- .wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble::before {
+ .wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint)::before {
margin-left: -8px;
border-top-color: #c3c4c7;
}
- .wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble::after {
+ .wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint)::after {
margin-left: -7px;
border-width: 7px;
border-bottom: 0;
diff --git a/wp-admin/css/wp-tooltip.min.css b/wp-admin/css/wp-tooltip.min.css
index abd3d829dd..b21b663f7c 100644
--- a/wp-admin/css/wp-tooltip.min.css
+++ b/wp-admin/css/wp-tooltip.min.css
@@ -1,2 +1,2 @@
/*! This file is auto-generated */
-.wp-tooltip{display:inline-flex;align-items:center}.wp-tooltip .wp-tooltip__close,.wp-tooltip .wp-tooltip__toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:2px;background:0 0;color:#50575e;cursor:pointer}.wp-tooltip .wp-tooltip__close:focus,.wp-tooltip .wp-tooltip__close:hover,.wp-tooltip:not(:has(button[aria-disabled=true],button[disabled])) .wp-tooltip__toggle:focus,.wp-tooltip:not(:has(button[aria-disabled=true],button[disabled])) .wp-tooltip__toggle:hover{color:var(--wp-admin-theme-color,#3858e9)}.wp-tooltip .wp-tooltip__close:focus,:where(.wp-tooltip:not(:has(button[aria-disabled=true],button[disabled]))) .wp-tooltip__toggle:focus{outline:2px solid transparent;box-shadow:0 0 0 var(--wp-admin-border-width-focus,1.5px) var(--wp-admin-theme-color,#3858e9)}.wp-tooltip .wp-tooltip__toggle .dashicons{width:20px;height:20px;font-size:20px}.wp-tooltip .wp-tooltip__close .dashicons{width:18px;height:18px;font-size:18px}.wp-tooltip .wp-tooltip__bubble{max-width:min(280px,calc(100vw - 32px));margin:auto;padding:12px 16px;overflow:visible;border:1px solid #c3c4c7;border-radius:4px;background:#fff;color:#1d2327;font-size:13px;font-weight:400;line-height:1.5;text-align:left;box-shadow:0 3px 6px rgba(0,0,0,.08)}.wp-tooltip.wp-is-tooltip .wp-tooltip__bubble{background:#000;color:#f0f0f0;text-align:center;padding:4px 8px;line-height:1.4}.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__text{display:block;padding-inline-end:24px}.wp-tooltip .wp-tooltip__close{position:absolute;top:6px;inset-inline-end:6px}@supports (anchor-name:--a){.wp-tooltip .wp-tooltip__bubble{position-area:top;margin:0 0 8px;position-try-fallbacks:flip-block,flip-inline}.wp-tooltip.wp-is-tooltip .wp-tooltip__bubble{margin:0}.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble::after,.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble::before{content:"";position:absolute;top:100%;left:50%;width:0;height:0;border:8px solid transparent;border-bottom:0}.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble::before{margin-left:-8px;border-top-color:#c3c4c7}.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble::after{margin-left:-7px;border-width:7px;border-bottom:0;border-top-color:#fff}}
\ No newline at end of file
+.wp-tooltip{display:inline-flex;align-items:center}.wp-tooltip .wp-tooltip__close,.wp-tooltip .wp-tooltip__toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:2px;background:0 0;color:#50575e;cursor:pointer}.wp-tooltip .wp-tooltip__close:focus,.wp-tooltip .wp-tooltip__close:hover,.wp-tooltip:not(:has(button[aria-disabled=true],button[disabled])) .wp-tooltip__toggle:focus,.wp-tooltip:not(:has(button[aria-disabled=true],button[disabled])) .wp-tooltip__toggle:hover{color:var(--wp-admin-theme-color,#3858e9)}.wp-tooltip .wp-tooltip__close:focus,:where(.wp-tooltip:not(:has(button[aria-disabled=true],button[disabled]))) .wp-tooltip__toggle:focus{outline:2px solid transparent;box-shadow:0 0 0 var(--wp-admin-border-width-focus,1.5px) var(--wp-admin-theme-color,#3858e9)}.wp-tooltip .wp-tooltip__toggle .dashicons{width:20px;height:20px;font-size:20px}.wp-tooltip .wp-tooltip__close .dashicons{width:18px;height:18px;font-size:18px}.wp-tooltip .wp-tooltip__bubble{max-width:min(280px,calc(100vw - 32px));margin:auto;padding:12px 16px;overflow:visible;border:1px solid #c3c4c7;border-radius:4px;background:#fff;color:#1d2327;font-size:13px;font-weight:400;line-height:1.5;text-align:left;box-shadow:0 3px 6px rgba(0,0,0,.08)}.wp-tooltip .wp-tooltip__hint,.wp-tooltip.wp-is-tooltip .wp-tooltip__bubble{background:#000;color:#f0f0f0;text-align:center;padding:4px 8px;line-height:1.4}.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint) .wp-tooltip__text{display:block;padding-inline-end:24px}.wp-tooltip .wp-tooltip__close{position:absolute;top:6px;inset-inline-end:6px}@supports (anchor-name:--a){.wp-tooltip .wp-tooltip__bubble{position-area:top;margin:0 0 8px;position-try-fallbacks:flip-block,flip-inline}.wp-tooltip .wp-tooltip__hint,.wp-tooltip.wp-is-tooltip .wp-tooltip__bubble{margin:0}.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint)::after,.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint)::before{content:"";position:absolute;top:100%;left:50%;width:0;height:0;border:8px solid transparent;border-bottom:0}.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint)::before{margin-left:-8px;border-top-color:#c3c4c7}.wp-tooltip:not(.wp-is-tooltip) .wp-tooltip__bubble:not(.wp-tooltip__hint)::after{margin-left:-7px;border-width:7px;border-bottom:0;border-top-color:#fff}}
\ No newline at end of file
diff --git a/wp-includes/general-template.php b/wp-includes/general-template.php
index 73178b9eca..5d6786db99 100644
--- a/wp-includes/general-template.php
+++ b/wp-includes/general-template.php
@@ -584,8 +584,11 @@ function wp_get_tooltip_helper( $content, $args = array() ) {
*/
$markup = sprintf(
'<span class="%1$s">
- %7$s
- <span popover="auto" id="%2$s" class="wp-tooltip__bubble" role="dialog" aria-label="%3$s" tabindex="-1" autofocus>' .
+ %8$s
+ <span popover="hint" id="%2$s-hint" class="wp-tooltip__bubble wp-tooltip__hint" aria-hidden="true">' .
+ '<span class="wp-tooltip__text">%7$s</span>' .
+ '</span>' .
+ '<span popover="auto" id="%2$s" class="wp-tooltip__bubble" role="dialog" aria-label="%3$s" tabindex="-1" autofocus>' .
'<span id="%2$s-text" class="wp-tooltip__text">%5$s</span>' .
'<button type="button" class="wp-tooltip__close" popovertarget="%2$s" popovertargetaction="hide" aria-label="%6$s">' .
'<span class="dashicons dashicons-no-alt" aria-hidden="true"></span>' .
@@ -598,6 +601,7 @@ function wp_get_tooltip_helper( $content, $args = array() ) {
esc_attr( $icon ),
esc_html( $content ),
esc_attr( $args['close_label'] ),
+ esc_html( $args['label'] ),
$button,
);
}
diff --git a/wp-includes/js/wp-tooltip.js b/wp-includes/js/wp-tooltip.js
index d00a0d5f6a..79c56323fb 100644
--- a/wp-includes/js/wp-tooltip.js
+++ b/wp-includes/js/wp-tooltip.js
@@ -58,3 +58,62 @@
trigger.addEventListener( 'blur', hideTooltip );
});
})();
+
+/**
+ * Add focus and hover support for the toggle tip's hint in `wp_get_toggletip()`.
+ *
+ * A toggle tip has no visible text label, so a hover/focus hint exposes the
+ * toggle button's accessible name to sighted users. The hint is suppressed while
+ * the toggle tip dialog itself is open, so the two never overlap.
+ * This script can be made obsolete when support is available for Interest Invokers.
+ */
+(() => {
+
+ const toggletips = /** @type {NodeListOf<HTMLSpanElement>} */ ( document.querySelectorAll( '.wp-is-toggletip' ) );
+
+ /** @type {ReturnType<typeof setTimeout>} */
+ let openTimeout;
+
+ toggletips.forEach( function( toggletip ) {
+ const trigger = /** @type {HTMLButtonElement|null} */ ( toggletip.querySelector( 'button.wp-tooltip__toggle' ) );
+ const hint = /** @type {HTMLSpanElement|null} */ ( toggletip.querySelector( '.wp-tooltip__hint' ) );
+ const dialog = /** @type {HTMLDialogElement|null} */ ( toggletip.querySelector( 'dialog.wp-tooltip__bubble' ) );
+
+ if ( ! trigger || ! hint ) {
+ return;
+ }
+
+ // Show Hint Function (with delay to prevent flickering).
+ const showHint = () => {
+ clearTimeout( openTimeout );
+ openTimeout = setTimeout( () => {
+ // Don't show the hint over an open toggle tip dialog.
+ if ( dialog && dialog.matches( ':popover-open' ) ) {
+ return;
+ }
+ // Only show if it's not already open.
+ if ( ! hint.matches( ':popover-open' ) ) {
+ // pass the triggering element so implicit position anchors work.
+ hint.showPopover( { source: trigger } );
+ }
+ }, 300 );
+ };
+ // Hide Hint Function.
+ const hideHint = () => {
+ clearTimeout( openTimeout );
+ if ( hint.matches( ':popover-open' ) ) {
+ hint.hidePopover();
+ }
+ };
+
+ // Bind Hover and Focus Events.
+ trigger.addEventListener( 'mouseenter', showHint );
+ trigger.addEventListener( 'focus', showHint );
+
+ trigger.addEventListener( 'mouseleave', hideHint );
+ trigger.addEventListener( 'blur', hideHint );
+
+ // Hide the hint as soon as the toggle tip is opened.
+ trigger.addEventListener( 'click', hideHint );
+ });
+})();
diff --git a/wp-includes/js/wp-tooltip.min.js b/wp-includes/js/wp-tooltip.min.js
index e3b9cdf208..fbb3cd5c73 100644
--- a/wp-includes/js/wp-tooltip.min.js
+++ b/wp-includes/js/wp-tooltip.min.js
@@ -1,2 +1,2 @@
/*! This file is auto-generated */
-(()=>{let e=Object.prototype.hasOwnProperty.call(HTMLElement.prototype,"popover")?!1:!0;document.querySelectorAll(".wp-is-tooltip").forEach(function(o){const t=o.querySelector(".wp-tooltip__toggle"),r=o.querySelector("span.wp-tooltip__bubble");if(e&&r)r.classList.add("hidden");else if(t&&r){let e;var o=()=>{clearTimeout(e),e=setTimeout(()=>{r.matches(":popover-open")||r.showPopover({source:t})},300)},p=()=>{clearTimeout(e),r.matches(":popover-open")&&r.hidePopover()};t.addEventListener("mouseenter",o),t.addEventListener("focus",o),t.addEventListener("mouseleave",p),t.addEventListener("blur",p)}})})();
\ No newline at end of file
+(()=>{let e=Object.prototype.hasOwnProperty.call(HTMLElement.prototype,"popover")?!1:!0;document.querySelectorAll(".wp-is-tooltip").forEach(function(o){const t=o.querySelector(".wp-tooltip__toggle"),r=o.querySelector("span.wp-tooltip__bubble");if(e&&r)r.classList.add("hidden");else if(t&&r){let e;var o=()=>{clearTimeout(e),e=setTimeout(()=>{r.matches(":popover-open")||r.showPopover({source:t})},300)},p=()=>{clearTimeout(e),r.matches(":popover-open")&&r.hidePopover()};t.addEventListener("mouseenter",o),t.addEventListener("focus",o),t.addEventListener("mouseleave",p),t.addEventListener("blur",p)}})})(),(()=>{var e=document.querySelectorAll(".wp-is-toggletip");let l;e.forEach(function(e){const o=e.querySelector("button.wp-tooltip__toggle"),t=e.querySelector(".wp-tooltip__hint"),r=e.querySelector("dialog.wp-tooltip__bubble");var p;o&&t&&(e=()=>{clearTimeout(l),l=setTimeout(()=>{r&&r.matches(":popover-open")||t.matches(":popover-open")||t.showPopover({source:o})},300)},p=()=>{clearTimeout(l),t.matches(":popover-open")&&t.hidePopover()},o.addEventListener("mouseenter",e),o.addEventListener("focus",e),o.addEventListener("mouseleave",p),o.addEventListener("blur",p),o.addEventListener("click",p))})})();
\ No newline at end of file
diff --git a/wp-includes/version.php b/wp-includes/version.php
index 61a02097a8..6bf2f4f1a1 100644
--- a/wp-includes/version.php
+++ b/wp-includes/version.php
@@ -16,7 +16,7 @@
*
* @global string $wp_version
*/
-$wp_version = '7.2-alpha-64291';
+$wp_version = '7.2-alpha-64292';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.