| UI or UX | UI + UX - Secure bank account identification and verification form | UI + UX - Single-line freeform data-entry control | UI + UX - Fixed-format text entry control | UI + UX - Final editable answer summary before committing a transaction |
| UI guidance | Render bank details as a secure grouped form with account holder name, routing identifier, account number, optional roll number or regional equivalent, clear hints, field-specific errors, verification status, and a masked review summary. | Render a persistent label, appropriately sized single-line input, optional hint, visible focus state, and nearby error text that is programmatically associated with the field. | Show a persistent label, visible example or hint, fixed grouping, literal separators, and field-adjacent error text so users understand which characters are typed and which are supplied by the mask. | Render a single review page immediately before commit with a clear title, grouped answer sections, readable key/value rows, per-answer or per-section Change actions, skipped optional answers when meaningful, and a primary button whose label names the committed action. |
| UX guidance | Use bank details when the service needs an account to pay a user, collect a direct debit, issue a refund, run payroll, initiate a bank payment, or save a payout destination. | Use text input for short freeform answers that users can type or paste and that cannot be accurately represented as a fixed option choice. | Use an input mask to help users enter data that has a stable character structure, especially when grouping matches the physical document, card, container code, or serial key users are copying from. | Use review before submit to give users one final chance to verify and correct captured answers before a transaction is sent, paid, published, applied, or otherwise committed. |
| Good UI | A refund form asks for Name on the account, Sort code, Account number, and Building society roll number (optional), then shows a masked summary before Confirm payout. | A reference-name field has a visible label, hint, medium width, focus ring, and error message beneath the hint when submitted empty. | A container number field shows the example ABCD 123456 7, groups pasted characters into that shape, and displays the raw value ABCD1234567 before submit. | A claim review page has Applicant, Contact details, Evidence, and Declaration sections; each row shows the captured answer and a Change link with hidden context such as Change email address. |
| Bad UI | A form has one field labelled Bank details and asks users to paste name, account number, sort code, and notes together. | The only instruction is placeholder text that disappears when the user starts typing. | A phone field hard-codes a domestic mask and rejects valid international numbers. | A final page says Check your answers but shows only a paragraph and a Continue button with no answers, section headings, or change links. |
| Good UX | A user types a sort code with spaces, the form normalizes it to 12-34-56, checks the account holder name, warns about a close match, and lets the user review before payout. | A user types or pastes a short reference, submits it, and the interface confirms the stored value without changing their wording. | A user pastes abcd1234567, sees ABCD 123456 7, reviews the canonical value, and fixes one middle digit without retyping the whole code. | A user changes their phone number from review, lands on the phone page with the old value pre-filled, saves, and returns directly to review with other answers preserved. |
| Bad UX | A user mistypes one digit and the service silently accepts the account, then the payment fails days later with no field-level recovery. | Validation fires on the first focus event and blocks typing before the user has had a chance to answer. | A user pastes a valid value with spaces and the mask discards characters because it only supports one-character-at-a-time typing. | A user selects Change address, edits one field, then has to repeat every later page before finding the review page again. |
| Best fit | The product needs bank account details to send money, collect money, set up payroll, save payout details, issue refunds, or initiate bank-to-bank payments. | The answer is short and user-authored. | The value has a stable character pattern and users benefit from live grouping. | A user has provided multiple answers and should verify them before a consequential submit action. |
| Avoid when | The task is to collect payment card credentials rather than bank account identifiers. | The answer is a paragraph, comment, address block, or explanation requiring multiple lines. | Valid values have many lengths, regions, scripts, or exception formats. | The task is a single low-risk field with clear inline validation and an obvious submit action. |
| Required state | Initial secure collection state with purpose, account holder name, routing field, account number, optional roll number or regional equivalent, and hints. | Empty untouched state with persistent label and optional hint. | Empty untouched state with label and visible format example. | Initial review state with grouped captured answers, relevant sections, and explicit submit action. |
| Accessibility burden | Group account fields under a heading or legend that explains why bank details are being requested. | Associate every text input with a visible label or equivalent accessible name that matches the visible question. | Keep a real visible label and do not use the mask pattern or placeholder as a substitute for the field name. | Use headings that make the review task explicit, such as Check your answers before sending your application. |
| Common misuse | Using one freeform field for all account details. | Using placeholder text as the only label or instruction. | Using a mask because a format exists even though many valid values do not fit it. | Using a review page that contains no captured answers. |