From 8bb393d5cd357d86ff40e36c654798cccb777950 Mon Sep 17 00:00:00 2001 From: wmagev <74554762+wmagev@users.noreply.github.com> Date: Sat, 18 Apr 2026 21:05:00 +0900 Subject: [PATCH] a11y+viewport: aria-labels on icon-only buttons; 100dvh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A11y: - Add aria-label to the 4 icon-only interactive controls (docs link, theme toggle, orderbook info, event-feed scroll-to-top) so screen readers announce a name instead of 'button'. Tooltips do not expose an accessible name on focus. Viewport: - Replace 100vh with 100dvh in AppLayout, DashboardPage, SwapDetailPage, NotFoundPage so mobile browser address-bar chrome doesn't clip the bottom of full-height pages. Done globally, not just in AppLayout. Extracted from upstream PR #15 — the uncontroversial a11y + viewport slice, without the bundled error-boundary / retry / SSE-reconnect / memoization changes. --- src/components/dashboard/EventFeed.tsx | 1 + src/components/dashboard/OrderbookDepth.tsx | 6 +++++- src/components/layout/AppLayout.tsx | 4 ++-- src/pages/DashboardPage.tsx | 4 +++- src/pages/NotFoundPage.tsx | 2 +- src/pages/SwapDetailPage.tsx | 2 +- 6 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/components/dashboard/EventFeed.tsx b/src/components/dashboard/EventFeed.tsx index 72d10b8..300b25d 100644 --- a/src/components/dashboard/EventFeed.tsx +++ b/src/components/dashboard/EventFeed.tsx @@ -198,6 +198,7 @@ const EventFeed: React.FC = () => { {scrolled && (