Description
This is a UI/UX issue. The src/components/WalletConnectionModal.tsx (with WalletConnectionModal.css) lets users pick Freighter/Albedo/xBull/Rabet, but as the primary entry point it must be a fully accessible dialog: focus-trapped, Escape-closable, background made inert, return-focus on close, and laid out as a safe-area-aware bottom sheet on mobile. Audit and complete these behaviors.
Requirements and Context
- Use
useFocusTrap (src/hooks/useFocusTrap.ts); set role="dialog", aria-modal="true", and aria-labelledby.
- Mark background content inert and lock body scroll while open; restore focus to the trigger on close.
- On mobile, render as a bottom sheet respecting
env(safe-area-inset-*); ensure each wallet option is a >=44px tap target with a focus ring.
- Differentiate detected/undetected wallets visually and via text (not color alone).
- Must be secure, tested, and documented
- Should be efficient and easy to review
Suggested Execution
- Fork the repo and create a branch
git checkout -b task/wallet-modal-a11y
- Implement changes
src/components/WalletConnectionModal.tsx + .css
- Test and commit
npm run test
- Verify trap/Escape/return-focus and mobile sheet
- Include screenshots in the PR
Example commit message
task: harden WalletConnectionModal accessibility and mobile layout
Acceptance Criteria
Guidelines
- WCAG 2.1 AA: 2.1.2, 2.4.3, 4.1.2; responsive
- Clear documentation and inline comments
- Timeframe: 96 hours
Description
This is a UI/UX issue. The
src/components/WalletConnectionModal.tsx(withWalletConnectionModal.css) lets users pick Freighter/Albedo/xBull/Rabet, but as the primary entry point it must be a fully accessible dialog: focus-trapped, Escape-closable, background made inert, return-focus on close, and laid out as a safe-area-aware bottom sheet on mobile. Audit and complete these behaviors.Requirements and Context
useFocusTrap(src/hooks/useFocusTrap.ts); setrole="dialog",aria-modal="true", andaria-labelledby.env(safe-area-inset-*); ensure each wallet option is a >=44px tap target with a focus ring.Suggested Execution
src/components/WalletConnectionModal.tsx+.cssnpm run testExample commit message
Acceptance Criteria
Guidelines