Skip to content

fix: [WEB-002] QR scanner camera permission modal is not accessible to screen readers - #934

Merged
Nanafancy merged 3 commits into
Ignition-World:mainfrom
Eeboade:solver/issue-859-29-a0
Oct 26, 2026
Merged

Nanafancy merged 3 commits into
Ignition-World:mainfrom
Eeboade:solver/issue-859-29-a0

Conversation

@Eeboade

@Eeboade Eeboade commented Oct 18, 2026

Copy link
Copy Markdown

Summary

The web frontend has no camera-permission gate or QR scanner: QRCodeDisplay only renders a code, and the send flow has no scanner. I added a reusable CameraPermissionDialog (ignition-pay-frontend/components/camera-permission-dialog.tsx) built on the shared Base UI Dialog, so it gets role=dialog, aria-modal, a focus trap and Escape to close. It has a labelled title and description, and a role=status aria-live=polite region that announces the permission state (prompt, requesting, granted, denied, unavailable). The primary 'Allow camera' / 'Try again' button is auto-focused and works from the keyboard, and Cancel closes the dialog. I did not wire it into QRCodeDisplay or SendPage, because there is no scanner there yet. A future scanner should render this dialog and drive its state prop from getUserMedia results. I couldn't run anything, so none of this has been run.

Changed files

  • ignition-pay-frontend/components/camera-permission-dialog.tsx
  • ignition-pay-frontend/tests/camera-permission-dialog.test.tsx

Test plan

New test ignition-pay-frontend/tests/camera-permission-dialog.test.tsx checks the dialog's name, description and aria-modal, the live status text, the allow button click, and that the allow button is hidden when no camera exists. CI should run the frontend vitest suite, plus lint and typecheck.

This PR was created as a draft by the issue solver bot. It will remain a
draft until repository CI passes.

Closes #859

@drips-wave

drips-wave Bot commented Oct 18, 2026

Copy link
Copy Markdown

@Eeboade 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! 🚀

Learn more about application limits

@Eeboade
Eeboade force-pushed the solver/issue-859-29-a0 branch from 02c3c67 to 1720322 Compare October 21, 2026 12:01
@Nanafancy
Nanafancy marked this pull request as ready for review October 26, 2026 11:21
@Nanafancy
Nanafancy merged commit ad4b4bd into Ignition-World:main Oct 26, 2026
1 check failed
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.

[WEB-002] QR scanner camera permission modal is not accessible to screen readers

3 participants