diff --git a/canvas/src/components/WorkspaceNode.tsx b/canvas/src/components/WorkspaceNode.tsx index 9b40be44..718f9820 100644 --- a/canvas/src/components/WorkspaceNode.tsx +++ b/canvas/src/components/WorkspaceNode.tsx @@ -344,11 +344,21 @@ function TeamMemberChip({ return (
{ e.stopPropagation(); onSelect(node.id); }} + onKeyDown={(e) => { + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + e.stopPropagation(); + onSelect(node.id); + } + }} onContextMenu={(e) => { e.preventDefault(); e.stopPropagation(); diff --git a/canvas/src/components/__tests__/WorkspaceNode.a11y.test.tsx b/canvas/src/components/__tests__/WorkspaceNode.a11y.test.tsx index 1a463842..ec680bf2 100644 --- a/canvas/src/components/__tests__/WorkspaceNode.a11y.test.tsx +++ b/canvas/src/components/__tests__/WorkspaceNode.a11y.test.tsx @@ -190,10 +190,10 @@ describe("WorkspaceNode — TeamMemberChip a11y (issue #831)", () => { expect(mockSelectNode).toHaveBeenCalledWith(CHILD_ID); }); - it("eject button has aria-label='Extract from team'", () => { + it("eject button has aria-label='Extract from team'", () => { renderParentNode(); const ejectBtn = screen.getByRole("button", { - name: "Extract from team", + name: "Extract Child Workspace from team", }); expect(ejectBtn).toBeTruthy(); });