Skip to content

a11y: add aria-label to icon-only buttons#31

Open
wmagev wants to merge 1 commit intoentrius:testfrom
wmagev:a11y/icon-button-labels
Open

a11y: add aria-label to icon-only buttons#31
wmagev wants to merge 1 commit intoentrius:testfrom
wmagev:a11y/icon-button-labels

Conversation

@wmagev
Copy link
Copy Markdown

@wmagev wmagev commented Apr 18, 2026

Adds descriptive 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.

Fixes #30

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 entrius#15 — the uncontroversial a11y + viewport
slice, without the bundled error-boundary / retry / SSE-reconnect /
memoization changes.
@wmagev wmagev force-pushed the a11y/icon-button-labels branch from 6af854d to 8bb393d Compare April 18, 2026 12:14
@wmagev
Copy link
Copy Markdown
Author

wmagev commented Apr 18, 2026

cc @LandynDev

nightmare0329 added a commit to nightmare0329/allways-ui that referenced this pull request Apr 18, 2026
…back

Issue entrius#33 — refactor(OrderbookDepth): hoist BtcIcon, TaoIcon, AssetIcon
to module scope so they are not recreated on every parent render.
Each icon calls useTheme() internally instead of closing over the
parent component's theme variables.

Issue entrius#31 — a11y: add aria-label to 4 icon-only interactive controls:
- Docs link button (aria-label="Documentation")
- Theme toggle button (dynamic: "Switch to dark/light mode")
- Orderbook info button (aria-label="Orderbook depth information")
- EventFeed scroll-to-top button (aria-label="Scroll to top of event feed")

Issue entrius#36 — fix: add QueryError component with retry button and wire it
into all four dashboard panels (StatsPanel, MinerRatesTable,
OrderbookDepth, EventFeed). Panels now render a QueryError with a refetch
button instead of staying on a shimmer skeleton when useApiQuery errors.

Closes entrius#31, entrius#33, entrius#36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Icon-only buttons have no accessible name

1 participant