| UI or UX | UI + UX - File selection and attachment control | UI + UX - Single-line freeform data-entry control | UI + UX - Focused form page for one answer or decision | UI + UX - Multi-page transaction with saved step state |
| UI guidance | Render a visible label, persistent hint, native file chooser or equivalent button, accepted file formats, maximum file size, selected filename, uploaded status, remove control, and field-specific error message. | 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. | Render one clear question as the page heading, optional explanatory text before the answer, one answer area, a primary Continue action, and a Back link or equivalent return path. | Render each step as a focused page with a clear heading, progress context when useful, Back and Continue controls, local validation, and a final review page before submission. |
| UX guidance | Use file upload only when the service needs the original file and make expectations clear before the user opens the file picker. | Let users edit normally, validate after interaction or attempted submit, preserve their typed value after errors, and explain exactly how to fix invalid or missing text. | Use a single-question page when users need to focus on one decision, understand one piece of information, or answer one conceptual question before moving on. | Use a multi-step form when a transaction is too long, conditional, high-stakes, or hard to recover from as one page, and users need manageable saved progress. |
| Good UI | An evidence upload field says Upload bank statement, hints PDF, PNG, or JPG up to 10 MB, shows statement.pdf selected, displays upload progress, and offers Remove. | A reference-name field has a visible label, hint, medium width, focus ring, and error message beneath the hint when submitted empty. | A date question uses three related fields on the same page because day, month, and year answer one question. | A benefit application has Eligibility, Contact details, Documents, Review, and Submit pages, with the current step named in the heading and completed steps shown from saved data. |
| Bad UI | A failed upload clears other form answers or returns users to the start of the journey. | The only instruction is placeholder text that disappears when the user starts typing. | One page asks for name, address, evidence status, and payment method under a vague Details heading. | A five-screen flow shows all steps as complete after users only viewed them. |
| Good UX | A user selects bank-statement.pdf, sees it queued, watches progress reach uploaded, removes it to choose another file, then submits after reviewing the rest of the form. | A user leaves the required field blank, sees an error only after submit, returns to the same field, and their later typed value clears the error. | A user chooses Yes, sees a follow-up detail field on the same question page, goes Back, returns, and the answer is still selected. | A user completes eligibility and contact details, goes Back from documents, sees contact details still filled, continues, and returns to the same documents step. |
| Bad UX | A user selects a 28 MB scan, clicks Continue, and the page reloads with File failed but the selected filename and other answers are gone. | Validation fires on the first focus event and blocks typing before the user has had a chance to answer. | A user goes Back to check the previous step and the question page clears the answer they already gave. | A browser refresh on step 3 clears steps 1 and 2, forcing the user to start again. |
| Best fit | The service needs a document, image, scan, spreadsheet, media file, or other original file. | The answer is short and user-authored. | A sequential service flow needs reliable answers before deciding the next page. | A transaction spans several ordered pages or sections. |
| Avoid when | A typed answer, reference number, checkbox, or declaration would satisfy the task. | The answer is a paragraph, comment, address block, or explanation requiring multiple lines. | Users need to compare or edit several fields together before submitting. | The fields are short, related, and easier to scan together on one page. |
| Required state | Empty labelled state with requirements hint and choose-file action. | Empty untouched state with persistent label and optional hint. | Initial unanswered state with question heading, optional explanation, answer control, Back link, and Continue action. | Current step state with heading, saved context, local answer controls, Back, and Continue. |
| Accessibility burden | Keep requirements in persistent hint text and associate them with the file input or upload button. | Associate every text input with a visible label or equivalent accessible name that matches the visible question. | Use a single visible h1 that states the question users are answering. | Use a clear page heading on every step and keep it synchronized with route and progress context. |
| Common misuse | Asking for a file when a typed reference number or simple answer would be enough. | Using placeholder text as the only label or instruction. | Putting several unrelated questions on one page and still calling it one thing per page. | Using a multi-step form to hide a short related form that users should review on one page. |