Skip to content

feat(mobile): add accessibility semantics and debounce FX quotes" --body-file - <<'EOF' - #1425

Merged
GoodnessJohn merged 1 commit into
Haroldwonder:mainfrom
meetdarc-tech:feature/mobile-accessibility-debounce-fixes
Aug 30, 2026
Merged

feat(mobile): add accessibility semantics and debounce FX quotes" --body-file - <<'EOF'#1425
GoodnessJohn merged 1 commit into
Haroldwonder:mainfrom
meetdarc-tech:feature/mobile-accessibility-debounce-fixes

Conversation

@meetdarc-tech

Copy link
Copy Markdown

Summary

This PR addresses the mobile accessibility blockers and the noisy FX/fee polling in the send flow.

What changed

Accessibility

  • Added explicit accessibilityRole and descriptive labels for primary home action cards, navigation buttons, and transaction actions.
  • Added accessibilityState={{ selected }} for currency pills, anchor cards, and dispute reason toggles so assistive technology communicates the current selection.
  • Wrapped the transfer progress stepper in a screen-reader-friendly progressbar with a textual status summary.
  • Labeled tab icons with accessibility text for Home, History, and KYC tabs.

FX/fee fetch behavior

  • Debounced the FX rate and fee breakdown requests by 450 ms before triggering fetches from the amount input.
  • Added stale-request protection so older responses cannot overwrite newer ones.
  • Added retry UX for quote failures instead of silently leaving the data blank.
  • Prevents repeated network calls while a user is typing a value, reducing battery/data waste and race conditions.

Regression coverage

  • Added targeted assertions for assistive-state semantics in the send-money flow.
  • Added a coverage check for the transfer progressbar accessibility label.
  • Added a debounce regression test ensuring only one quote fetch pair occurs per typing window.

Validation

  • Static editor checks for the touched mobile files reported no TypeScript errors.
  • Full Jest execution is currently blocked in this Windows environment by the local React Native package installation/resolution issue in the workspace, so runtime verification needs one more pass in a clean mobile install environment.

Notes

This change is scoped to the mobile app and focuses on the SR-182 and SR-183 issues without broadening scope outside the affected screens.
EOF

closes #1325
closes #1326

@vercel

vercel Bot commented Aug 29, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the Harold's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Aug 29, 2026

Copy link
Copy Markdown

@meetdarc-tech 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

@GoodnessJohn
GoodnessJohn merged commit d84d175 into Haroldwonder:main Aug 30, 2026
1 of 2 checks passed
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.

SR-183: Debounce FX rate and fee breakdown fetches in SendMoneyScreen SR-182: Add accessibility semantics across the mobile app

2 participants