From 786a06da25ae56277cab60d262c6d1dc6d07d5ea Mon Sep 17 00:00:00 2001 From: Dorian Date: Mon, 30 Mar 2026 09:36:18 +0100 Subject: [PATCH] fix: onboarding gamepad focus styles + sounds - glass-button gets orange glow on focus-visible (was suppressed) - Input fields get orange border on focus-visible - Restore link made focusable (tabindex, role, keydown.enter) - Gamepad nav sounds play via existing fallback handler Co-Authored-By: Claude Opus 4.6 (1M context) --- neode-ui/src/style.css | 13 ++++++++++++- neode-ui/src/views/OnboardingIntro.vue | 3 +++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/neode-ui/src/style.css b/neode-ui/src/style.css index f0da200d..bfee5f64 100644 --- a/neode-ui/src/style.css +++ b/neode-ui/src/style.css @@ -60,7 +60,6 @@ } /* Elements with existing styles: suppress the global glow, let their own styles handle it */ -.glass-button:focus-visible, .glass-card:focus-visible, .sidebar-nav-item:focus-visible, .path-action-button:focus-visible, @@ -70,6 +69,18 @@ input:focus-visible, textarea:focus-visible, select:focus-visible { box-shadow: unset; + border-color: rgba(251, 146, 60, 0.4); + outline: none; +} + +/* Glass button: orange glow on gamepad/keyboard focus */ +.glass-button:focus-visible { + outline: none; + box-shadow: + 0 0 0 1px rgba(251, 146, 60, 0.5), + 0 0 16px rgba(251, 146, 60, 0.25), + 0 0 32px rgba(251, 146, 60, 0.1); + border-color: rgba(251, 146, 60, 0.4); } /* Mobile touch targets — ensure tappable elements meet 44px minimum */ diff --git a/neode-ui/src/views/OnboardingIntro.vue b/neode-ui/src/views/OnboardingIntro.vue index 02aae2ff..e679182f 100644 --- a/neode-ui/src/views/OnboardingIntro.vue +++ b/neode-ui/src/views/OnboardingIntro.vue @@ -26,8 +26,11 @@ Restore from backup