Commit f9281bb7f7f for woocommerce
commit f9281bb7f7f44b95fa700b3b1b0a07f263bd2df5
Author: Faisal Ahammad <faisalahammad24@gmail.com>
Date: Thu Oct 22 01:22:40 2026 +0600
fix: restore visible keyboard focus indicator on Settings tabs (#66203)
* fix: restore visible keyboard focus indicator on Settings tabs
The CSS rule body.woocommerce_page_wc-settings .nav-tab-wrapper a:focus
suppressed both outline and box-shadow without providing a visible
replacement, failing WCAG 2.4.7, 2.4.11, and 1.4.1.
Split the combined :active,:focus,:hover selector so :focus gets its own
rule with a 2px outline using the admin theme colour token. The :active
and :hover states keep their existing styling (no visible focus needed).
Applies the same fix pattern as PR #64890 for Product/Coupon data tabs
(issue #64236) which had the identical accessibility bug.
Fixes #66201
* Add changelog entry for Settings tab focus fix
* fix(admin): use core focus ring on Settings tabs
- Remove the hover and active reset on Settings tab links
- Remove the custom :focus outline, so core's a:focus ring shows
Addresses PR feedback.
Refs #66203
diff --git a/plugins/woocommerce/changelog/66203-fix-66201-settings-tabs-focus-indicator b/plugins/woocommerce/changelog/66203-fix-66201-settings-tabs-focus-indicator
new file mode 100644
index 00000000000..4235cf97f51
--- /dev/null
+++ b/plugins/woocommerce/changelog/66203-fix-66201-settings-tabs-focus-indicator
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fix
+
+Restore visible keyboard focus indicator on Settings tabs
diff --git a/plugins/woocommerce/client/legacy/css/admin.scss b/plugins/woocommerce/client/legacy/css/admin.scss
index 0c8825a46f4..5a60cd3b9b4 100644
--- a/plugins/woocommerce/client/legacy/css/admin.scss
+++ b/plugins/woocommerce/client/legacy/css/admin.scss
@@ -9273,13 +9273,6 @@ body.woocommerce_page_wc-settings {
color: #505050;
padding: 0 0 10px 0;
text-decoration: none;
-
- &:focus,
- &:hover,
- &:active {
- outline: none;
- box-shadow: none;
- }
}
margin: 0;
// Tab strip inherits the wp-admin body bg so it reads as one