diff --git a/.Jules/palette.md b/.Jules/palette.md index d6fa89b3..d38378b9 100644 --- a/.Jules/palette.md +++ b/.Jules/palette.md @@ -21,3 +21,6 @@ ## 2026-08-16 - Focus Parity for CSS Transform Animations **Learning:** When interactive elements (like `.btn` links) have CSS `transform` animations on `:hover` (e.g., `transform: translateX(4px)`), missing the corresponding `transform` on the `:focus-visible` state means keyboard users do not get the same visual feedback as mouse users, creating an inconsistent and less polished experience. **Action:** Ensure CSS `transform` and other layout-affecting animations applied on `:hover` are also applied on `:focus-visible` for the parent element to maintain focus parity. +## 2026-08-16 - Semantic Buttons for Interactive Actions +**Learning:** Using `` for interactive actions (like clearing annotations or saving) creates unintended scrolling behavior (jumping to the top of the page) and incorrect semantics for screen readers, as the element is performing an action on the page rather than navigating. +**Action:** Replace `` tags used for JavaScript actions with `` and apply inline CSS reset styles (`background: transparent; border: none; padding: 0; font: inherit; cursor: pointer; text-decoration: underline;`) to maintain the visual appearance of a link while providing correct semantics and preventing page jumps. diff --git a/.gitignore b/.gitignore index d205e9fd..84b4def1 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ pr_description.txt .cache/ test_output*.log +node_modules/ diff --git a/router/static/visualizer.html b/router/static/visualizer.html index 942e17fb..5b50efe1 100644 --- a/router/static/visualizer.html +++ b/router/static/visualizer.html @@ -325,7 +325,7 @@ ✎ Human Review Save Note - ${ann ? `✓ Reviewed as ${escapeHtml(ann.tier)} · clear` : ''} + ${ann ? `✓ Reviewed as ${escapeHtml(ann.tier)} · clear` : ''} `; }