-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
difficulty: mediumStandard features across multiple codebase sectionsStandard features across multiple codebase sections
Description
Context
The app has basic accessibility through Radix UI's built-in ARIA support, but significant gaps remain. Only ~18 custom aria-label instances exist across the entire codebase. Form inputs, action buttons, icon-only buttons, and navigation elements lack proper accessible names. Keyboard-only users cannot reliably navigate the distribution table or stream action menus.
What Success Looks Like
- All icon-only buttons (trash, plus, upload, refresh) have descriptive
aria-labelattributes - Form inputs have proper
aria-describedbylinking to their error messages - The sidebar navigation has
aria-current="page"on the active link - The distribution recipients table supports keyboard navigation (Tab through rows, Enter to edit)
- Interactive elements have visible focus indicators (
:focus-visiblering) - The app passes Axe DevTools audit with zero critical violations
Implementation Guidance
Key files to audit and update:
apps/web/src/components/ui/app-sidebar.tsx— navigation needsaria-currentapps/web/src/app/(overview)/distribution/page.tsx— recipient table delete buttons (line 352-358) lackaria-labelapps/web/src/components/organisms/RecipientTable.tsx— table needsaria-labelon the table elementapps/web/src/components/modules/payment-stream/StreamActionsCell.tsx— action buttons need labelsapps/web/src/components/offramp/OfframpForm.tsx— form inputs need error association- Add
role="status"to loading indicators and toast notifications - Use
aria-live="polite"on areas that update dynamically (balance displays, transaction status)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
difficulty: mediumStandard features across multiple codebase sectionsStandard features across multiple codebase sections