Skip to content

[Frontend] Add accessible names to icon-only and toggle controls #465

@ogazboiz

Description

@ogazboiz

Join the discussion on Telegram

Why this matters

Several interactive controls across the app are icon-only or custom toggle elements with no accessible name, so screen-reader and keyboard users cannot tell what they do. Concrete examples already in the codebase:

  • The browser-notifications toggle in frontend/src/app/settings/page.tsx is a bare <button> containing only a styled <span> — no text, aria-label, or aria-pressed, so it announces as an unlabeled button with no state.
  • The copy-address / copy-contract buttons in the same file are icon-only (<Copy />) with no aria-label.
  • Only ~15 of ~40 component files under frontend/src/components use any aria-*/role attributes at all.

For a finance app this is both an inclusivity and a quality issue.

Acceptance criteria

  • Add aria-label (and aria-pressed for toggles) to the icon-only / custom-toggle controls in frontend/src/app/settings/page.tsx.
  • Audit the primary interactive surfaces (stream cards, dashboard actions, wallet buttons, notification dropdown) and add accessible names where icon-only controls exist.
  • Ensure custom toggles are reachable and operable by keyboard.
  • Where feasible, add a lint rule or note for future contributors (e.g. eslint-plugin-jsx-a11y) — optional but encouraged.

Files to touch

  • frontend/src/app/settings/page.tsx
  • frontend/src/components/NotificationDropdown.tsx
  • frontend/src/components/streams/IncomingStreamCard.tsx
  • other icon-only controls surfaced during the audit

Out of scope

  • A full WCAG audit / color-contrast overhaul.

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programfrontendFrontend related tasksgood first issueGood for newcomersuiUser interface refinement

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions