diff --git a/frontend/src/components/PaletteLauncher.dom.test.tsx b/frontend/src/components/PaletteLauncher.dom.test.tsx index 05c7dc29..d2b0e067 100644 --- a/frontend/src/components/PaletteLauncher.dom.test.tsx +++ b/frontend/src/components/PaletteLauncher.dom.test.tsx @@ -57,6 +57,8 @@ describe("the command palette's visible entry", () => { const cap = screen.getByRole("button", { name: /^palette\.open \((Ctrl|⌘) K\)$/ }); // Label in Name: the name carries what the cap shows, so "click Ctrl K" finds it. expect(cap.getAttribute("aria-label")).toContain(cap.textContent); + // …and a tooltip equal to that name, so a screen reader does not read it again as a description. + expect(cap.getAttribute("title")).toBe(cap.getAttribute("aria-label")); expect(screen.getByRole("textbox")).toBeTruthy(); fireEvent.click(cap); expect(isOpen()).toBe(true); @@ -66,8 +68,8 @@ describe("the command palette's visible entry", () => { page = "home"; const isOpen = mount(); expect(screen.queryByRole("textbox")).toBeNull(); - // Named by what it shows ("Jump to…"), not by a label that replaced it. - const pill = screen.getByRole("button", { name: "palette.title" }); + // Named by what it shows ("Jump to…" and its key cap), not by a label that replaced it. + const pill = screen.getByRole("button", { name: /^palette\.title ?(Ctrl|⌘) K$/ }); expect(pill.getAttribute("title")).toBe("palette.open"); fireEvent.click(pill); expect(isOpen()).toBe(true); diff --git a/frontend/src/components/PaletteLauncher.tsx b/frontend/src/components/PaletteLauncher.tsx index ce4cefbd..b1f1a206 100644 --- a/frontend/src/components/PaletteLauncher.tsx +++ b/frontend/src/components/PaletteLauncher.tsx @@ -34,7 +34,7 @@ export function PaletteKeycap() { type="button" onClick={openPalette} aria-label={`${t("palette.open")} (${cap})`} - title={t("palette.open")} + title={`${t("palette.open")} (${cap})`} className="shrink-0 rounded-md border border-border px-1.5 py-0.5 font-mono text-3xs text-muted transition hover:border-accent/50 hover:text-fg @max-[640px]/appmain:hidden" > {cap} @@ -55,10 +55,7 @@ export function PaletteLauncher() { >