diff --git a/canvas/src/components/MissingKeysModal.tsx b/canvas/src/components/MissingKeysModal.tsx index 80231043..c9dbc90d 100644 --- a/canvas/src/components/MissingKeysModal.tsx +++ b/canvas/src/components/MissingKeysModal.tsx @@ -706,7 +706,7 @@ function AllKeysModal({ type="button" onClick={() => handleSaveKey(index)} disabled={!entry.value.trim() || entry.saving} - className="px-3 py-1.5 bg-accent-strong hover:bg-accent text-[11px] rounded text-white disabled:opacity-30 transition-colors shrink-0" + className="px-3 py-1.5 bg-accent-strong hover:bg-accent text-[11px] rounded text-white disabled:opacity-30 transition-colors shrink-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1" > {entry.saving ? "..." : "Save"} @@ -730,7 +730,7 @@ function AllKeysModal({ @@ -740,7 +740,7 @@ function AllKeysModal({ @@ -748,7 +748,7 @@ function AllKeysModal({ type="button" onClick={handleAddKeysAndDeploy} disabled={!allSaved || anySaving} - className="px-3.5 py-1.5 text-[12px] bg-accent-strong hover:bg-accent text-white rounded-lg transition-colors disabled:opacity-40" + className="px-3.5 py-1.5 text-[12px] bg-accent-strong hover:bg-accent text-white rounded-lg transition-colors disabled:opacity-40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1" > {anySaving ? "Saving..." : allSaved ? "Deploy" : "Add Keys"} diff --git a/canvas/src/components/PricingTable.tsx b/canvas/src/components/PricingTable.tsx index cfcfad35..5f3bc210 100644 --- a/canvas/src/components/PricingTable.tsx +++ b/canvas/src/components/PricingTable.tsx @@ -128,7 +128,7 @@ function PlanCard({ type="button" onClick={onSelect} disabled={loading} - className={`mt-6 rounded-lg px-4 py-3 text-sm font-medium ${ + className={`mt-6 rounded-lg px-4 py-3 text-sm font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface ${ plan.highlighted ? "bg-accent-strong text-white hover:bg-accent disabled:bg-zinc-700 disabled:text-zinc-500" : "border border-line bg-surface-sunken text-ink hover:bg-surface-card disabled:opacity-50" diff --git a/canvas/src/components/tabs/FilesTab/FileTreeContextMenu.tsx b/canvas/src/components/tabs/FilesTab/FileTreeContextMenu.tsx index 76704959..052ac52e 100644 --- a/canvas/src/components/tabs/FilesTab/FileTreeContextMenu.tsx +++ b/canvas/src/components/tabs/FilesTab/FileTreeContextMenu.tsx @@ -128,8 +128,8 @@ export function FileTreeContextMenu({ x, y, items, onClose }: Props) { }} className={ item.destructive - ? "w-full text-left px-3 py-1 text-bad hover:bg-red-900/30 focus:bg-red-900/30 focus:outline-none disabled:opacity-40 disabled:pointer-events-none transition-colors" - : "w-full text-left px-3 py-1 text-ink-mid hover:bg-surface-card hover:text-ink focus:bg-surface-card focus:text-ink focus:outline-none disabled:opacity-40 disabled:pointer-events-none transition-colors" + ? "w-full text-left px-3 py-1 text-bad hover:bg-red-900/30 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-red-500 focus-visible:ring-offset-1 disabled:opacity-40 disabled:pointer-events-none transition-colors" + : "w-full text-left px-3 py-1 text-ink-mid hover:bg-surface-card hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 disabled:opacity-40 disabled:pointer-events-none transition-colors" } > {item.icon && {item.icon}} diff --git a/canvas/src/components/tabs/FilesTab/FilesToolbar.tsx b/canvas/src/components/tabs/FilesTab/FilesToolbar.tsx index 492f571b..8b567e41 100644 --- a/canvas/src/components/tabs/FilesTab/FilesToolbar.tsx +++ b/canvas/src/components/tabs/FilesTab/FilesToolbar.tsx @@ -44,7 +44,7 @@ export function FilesToolbar({