Problem
Multi-step financial forms can trap keyboard users, expose unlabeled controls, or announce validation and transaction state inconsistently.
Objective
Deliver a production-quality improvement to deposit and withdrawal forms that creates measurable value for correctness, security, reliability, performance, or maintainability.
Implementation scope
- Provide semantic labels, focus management, error association, and keyboard-complete controls.
- Announce step changes, balance/fee updates, and transaction outcomes without excessive repetition.
- Ensure dialogs and disabled states meet the application's accessibility baseline.
Acceptance criteria
- Every flow is operable without a pointer.
- Validation errors are programmatically associated with fields and announced.
- Automated accessibility checks pass with manual keyboard and screen-reader verification notes.
Required validation
- Component tests, axe-style checks, keyboard navigation tests, and focus/announcement assertions.
- Existing tests and CI remain passing.
- Add regression coverage for the original failure mode.
- Do not weaken, delete, or skip unrelated tests to obtain a green build.
PR quality bar
- Keep the PR focused on this issue and explain design tradeoffs.
- Include test evidence, compatibility impact, and migration or rollout notes where relevant.
- Avoid typo-only, documentation-only, cosmetic-only, or unrelated refactor submissions.
Out of scope
- Broad rewrites not required by the acceptance criteria.
- Changes to unrelated services, contracts, or user flows.
Problem
Multi-step financial forms can trap keyboard users, expose unlabeled controls, or announce validation and transaction state inconsistently.
Objective
Deliver a production-quality improvement to deposit and withdrawal forms that creates measurable value for correctness, security, reliability, performance, or maintainability.
Implementation scope
Acceptance criteria
Required validation
PR quality bar
Out of scope