fix(a11y): trap focus and announce progress in QR and batch modals - #169
Merged
truthixify merged 1 commit intoAug 27, 2026
Merged
Conversation
|
Someone is attempting to deploy a commit to the truthixify's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@fwseyi Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
Contributor
|
Merged. Focus restoration on close plus live progress announcements, and you added the test:a11y script the acceptance list needed. Thanks @fwseyi. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds focus trapping, focus restoration, keyboard shortcuts, and live-region announcements to the QR scanner, QR code modal, and batch withdraw modal. Adds Playwright a11y coverage for all three via Storybook, plus a new pnpm test:a11y script.
Changes
Tests
tests/a11y/modals.spec.ts — 10 new tests via Storybook (QRCodeModal.stories.tsx, StellarBatchWithdrawModal.stories.tsx, new QRScannerDialog.stories.tsx), covering axe violations, keyboard-only focus trap, and close/Escape behavior for all three dialogs. All 10 passing.
Known pre-existing failure (unrelated to this PR)
tests/a11y/send.spec.ts's two Stellar chain-switch tests fail on both this branch and develop — the Chain sits in a hidden sm:flex container Playwright can't interact with at the default test viewport. Verified via git stash that this predates this PR; out of scope to fix here. Note The batch-send progress dialog (StellarSplit) got lighter test coverage than the other two — one aria-live presence check rather than a full axe scan + keyboard test, since it renders inline rather than as a true modal overlay. Flagging in case a follow-up is wanted for parity. Validation pnpm test:unit → 135/135 passing pnpm format:check → clean pnpm test:a11y → 10/10 new tests passing Closes #160