From a490f935e3711c86c2db9e74b9e34ca01562fc8d Mon Sep 17 00:00:00 2001 From: Molecule AI Core-UIUX Date: Sun, 17 May 2026 05:43:59 +0000 Subject: [PATCH 1/2] fix(canvas/app): WCAG 2.4.7 focus-visible on error-state recovery buttons Add focus-visible ring to three buttons in app/page.tsx (hydration error retry x2, 503 recovery reload) and three in app/orgs/page.tsx (error retry, sign-out, create-org). All are keyboard-accessible interactive targets with no prior focus indicator. Co-Authored-By: Claude Opus 4.7 --- canvas/src/app/orgs/page.tsx | 6 +++--- canvas/src/app/page.tsx | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/canvas/src/app/orgs/page.tsx b/canvas/src/app/orgs/page.tsx index 81af4fb8f..298ff3aaf 100644 --- a/canvas/src/app/orgs/page.tsx +++ b/canvas/src/app/orgs/page.tsx @@ -118,7 +118,7 @@ export default function OrgsPage() {

Error: {error}

@@ -212,7 +212,7 @@ function AccountBar({ session }: { session: Session }) { // edge cases (jsdom, blocked navigation) where it doesn't. setSigningOut(false); }} - className="rounded border border-line bg-surface-card px-3 py-1 text-xs text-ink hover:bg-surface-card disabled:opacity-50" + className="rounded border border-line bg-surface-card px-3 py-1 text-xs text-ink hover:bg-surface-card disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1" aria-label="Sign out" > {signingOut ? "Signing out…" : "Sign out"} @@ -439,7 +439,7 @@ function CreateOrgForm({ onCreated }: { onCreated: (slug: string) => void }) { diff --git a/canvas/src/app/page.tsx b/canvas/src/app/page.tsx index 28cb37d96..f854ed770 100644 --- a/canvas/src/app/page.tsx +++ b/canvas/src/app/page.tsx @@ -103,7 +103,7 @@ export default function Home() { setHydrationError(null); window.location.reload(); }} - className="px-4 py-2 bg-accent-strong hover:bg-accent text-white rounded-md text-sm" + className="px-4 py-2 bg-accent-strong hover:bg-accent text-white rounded-md text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2" > Retry @@ -134,7 +134,7 @@ export default function Home() { setHydrationError(null); window.location.reload(); }} - className="px-4 py-2 bg-accent-strong hover:bg-accent text-white rounded-md text-sm" + className="px-4 py-2 bg-accent-strong hover:bg-accent text-white rounded-md text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2" > Retry @@ -176,7 +176,7 @@ brew services start redis`}

-- 2.52.0 From 312bba02d48b59e8a09b4972457d0856a7f5f946 Mon Sep 17 00:00:00 2001 From: Molecule AI Core-UIUX Date: Sun, 17 May 2026 06:06:51 +0000 Subject: [PATCH 2/2] chore: re-trigger SOP after PR creation -- 2.52.0