From cdcc6ed65be5eb47c52e349559aba4baa629af93 Mon Sep 17 00:00:00 2001 From: Molecule AI Core-UIUX Date: Sun, 10 May 2026 15:23:41 +0000 Subject: [PATCH] fix(canvas): add focus-visible rings to AuditTrailPanel and CommunicationOverlay MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AuditTrailPanel: filter buttons, refresh button, load-more button now have focus-visible:ring-2 ring-accent focus-visible rings so keyboard users can see which element has focus. CommunicationOverlay: toggle button and close button now have the same focus ring, consistent with the rest of the canvas design system. WCAG 2.1 AA — 2.4.7: Focus Visible (Two-level Keyboard Navigation). Co-Authored-By: Claude Opus 4.7 --- canvas/src/components/AuditTrailPanel.tsx | 6 +++--- canvas/src/components/CommunicationOverlay.tsx | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/canvas/src/components/AuditTrailPanel.tsx b/canvas/src/components/AuditTrailPanel.tsx index c85c8bea..1d20b1bc 100644 --- a/canvas/src/components/AuditTrailPanel.tsx +++ b/canvas/src/components/AuditTrailPanel.tsx @@ -142,7 +142,7 @@ export function AuditTrailPanel({ workspaceId }: Props) { key={f.id} onClick={() => setFilter(f.id)} aria-pressed={filter === f.id} - className={`px-2 py-1 text-[10px] rounded-md font-medium transition-all shrink-0 ${ + className={`px-2 py-1 text-[10px] rounded-md font-medium transition-all shrink-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 focus-visible:ring-offset-surface ${ filter === f.id ? "bg-surface-card text-ink ring-1 ring-zinc-600" : "text-ink-mid hover:text-ink-mid hover:bg-surface-card/60" @@ -155,7 +155,7 @@ export function AuditTrailPanel({ workspaceId }: Props) { diff --git a/canvas/src/components/CommunicationOverlay.tsx b/canvas/src/components/CommunicationOverlay.tsx index 2d3f2f14..11198d21 100644 --- a/canvas/src/components/CommunicationOverlay.tsx +++ b/canvas/src/components/CommunicationOverlay.tsx @@ -209,7 +209,7 @@ export function CommunicationOverlay() { type="button" onClick={() => setVisible(true)} aria-label="Show communications panel" - className="fixed top-16 right-4 z-30 px-3 py-1.5 bg-surface-sunken/90 border border-line/50 rounded-lg text-[10px] text-ink-mid hover:text-ink transition-colors" + className="fixed top-16 right-4 z-30 px-3 py-1.5 bg-surface-sunken/90 border border-line/50 rounded-lg text-[10px] text-ink-mid hover:text-ink transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 focus-visible:ring-offset-surface" > {comms.length > 0 ? `${comms.length} comms` : "Communications"} @@ -226,7 +226,7 @@ export function CommunicationOverlay() { type="button" onClick={() => setVisible(false)} aria-label="Close communications panel" - className="text-ink-mid hover:text-ink-mid text-xs" + className="text-ink-mid hover:text-ink-mid text-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 focus-visible:ring-offset-surface" >