From 45b968b77df1f1467f2a6ef08e47bd6b1ca7a90b Mon Sep 17 00:00:00 2001 From: Jared Vititoe Date: Fri, 27 Mar 2026 13:49:23 -0400 Subject: [PATCH] audit pass 12: type=button, focus restore, :focus-visible on links MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit HTML: - Add type="button" to all remaining buttons (nav drawer close, menu btn, theme toggle, notif bell, right drawer close, tab buttons, sidebar toggle, alert close x4, code copy, tab bar buttons x4, detail panel open, modal close x2, keyboard shortcuts close) - Add aria-label="Search commands" to command palette input - Notification panel close(true): restore focus to bell on Escape - Generic dropdowns: add Escape key handler with trigger focus restore CSS: - Add a:focus-visible global focus ring - Add .lt-nav-dropdown-menu li a:focus-visible - Add .lt-markdown a:focus-visible - Fix dead .lt-typeahead-option selector → .lt-typeahead-item with :hover, .is-focused, :focus-visible for light theme Co-Authored-By: Claude Sonnet 4.6 --- base.css | 10 +++++++++ base.html | 61 +++++++++++++++++++++++++++++++------------------------ 2 files changed, 45 insertions(+), 26 deletions(-) diff --git a/base.css b/base.css index 8803585..1b2d0bb 100644 --- a/base.css +++ b/base.css @@ -227,6 +227,10 @@ a:hover { color: var(--accent-orange); text-shadow: var(--glow-orange); } +a:focus-visible { + outline: 2px solid var(--accent-cyan); + outline-offset: 2px; +} ul, ol { list-style: none; } img, svg { display: block; max-width: 100%; } @@ -543,6 +547,11 @@ hr { text-shadow: var(--glow-orange); padding-left: 1.1rem; } +.lt-nav-dropdown-menu li a:focus-visible { + outline: 2px solid var(--accent-cyan); + outline-offset: -2px; + color: var(--accent-cyan); +} /* Header user + admin badge */ .lt-header-user { @@ -5055,6 +5064,7 @@ body.lt-is-offline .lt-main { margin-top: 2rem; transition: margin-top 0.25s eas .lt-markdown hr { border: none; border-top: 1px solid var(--border-dim); margin: 1rem 0; } .lt-markdown a { color: var(--accent-cyan); text-decoration: none; } .lt-markdown a:hover { text-decoration: underline; } +.lt-markdown a:focus-visible { outline: 2px solid var(--accent-cyan); outline-offset: 2px; } .lt-markdown strong { color: var(--text-primary); } .lt-markdown img { max-width: 100%; border: 1px solid var(--border-dim); } .lt-markdown table { width: 100%; border-collapse: collapse; font-size: 0.78rem; margin: 0.75rem 0; } diff --git a/base.html b/base.html index bcaae90..a40a896 100644 --- a/base.html +++ b/base.html @@ -65,7 +65,7 @@