From ab18771af258776f6bb5a4cfa2a7ec189ab3b4a5 Mon Sep 17 00:00:00 2001 From: aremu Date: Sun, 18 Oct 2026 18:59:20 +0100 Subject: [PATCH 1/5] fix: make the wallet card Manage menu keyboard accessible (#541) Closes #541 Co-Authored-By: Claude Haiku 5.5 --- src/app/dashboard/page.tsx | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/src/app/dashboard/page.tsx b/src/app/dashboard/page.tsx index bc08db4..84f94a6 100644 --- a/src/app/dashboard/page.tsx +++ b/src/app/dashboard/page.tsx @@ -1,6 +1,6 @@ "use client"; -import { useCallback, useEffect, useRef, useState } from "react"; +import { useCallback, useEffect, useId, useRef, useState } from "react"; import Link from "next/link"; import { useAuth } from "@/lib/useAuth"; import { displayName } from "@/lib/auth"; @@ -302,11 +302,28 @@ function WalletCard({ function ManageMenu({ walletId }: { walletId: string }) { const [open, setOpen] = useState(false); + const triggerRef = useRef(null); + const menuId = useId(); + + function close() { + setOpen(false); + triggerRef.current?.focus(); + } return ( -
+
{ + if (e.key === "Escape" && open) close(); + }} + >
From 070458087b344454bb5b887a8c643263e15c6dff Mon Sep 17 00:00:00 2001 From: aremu Date: Sun, 18 Oct 2026 18:59:20 +0100 Subject: [PATCH 3/5] fix: expose the selected asset filter to screen readers (#543) Closes #543 Co-Authored-By: Claude Haiku 5.5 --- src/app/dashboard/wallets/[id]/transactions/page.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/app/dashboard/wallets/[id]/transactions/page.tsx b/src/app/dashboard/wallets/[id]/transactions/page.tsx index 8907404..b860960 100644 --- a/src/app/dashboard/wallets/[id]/transactions/page.tsx +++ b/src/app/dashboard/wallets/[id]/transactions/page.tsx @@ -190,10 +190,16 @@ export default function TransactionsPage({
{/* asset filter tabs */} -
+
{assetTabs.map((key) => (