| UI or UX | UI + UX - Transient-only completed-transaction anti-pattern | UI + UX - Final endpoint page after a transaction is complete | UI + UX - Durable in-context proof that an action completed | UI + UX - Transient non-modal status message |
| UI guidance | Replace a lone success toast for completed transactions with a durable confirmation page or in-context success confirmation that names the completed transaction, reference, receipt, submitted details, and what happens next. | Render a full page after commit with a prominent completion panel, a page heading that names what finished, a reference or receipt when users need one, and a clear section for what happens next. | Render success confirmation near the action result or affected object with a success label, object-specific message, reference or timestamp when useful, and one next step such as View receipt, Continue review, or Copy reference. | Render toast notifications in a consistent non-modal region with short status text, clear severity, an optional close control, and at most one concise action. |
| UX guidance | Use this anti-pattern during review when a completed transaction clears context, redirects, or appears successful while proof, reference, receipt, next steps, and recovery paths are only present in a disappearing message. | Use a confirmation page when the transaction or service journey has ended and users need durable proof, reassurance, next-step timing, or a record they can bookmark, print, quote, or revisit. | Use success confirmation when users need confidence that a just-finished action has really completed and can identify what changed before continuing. | Escalate to inline, section, dialog, notification center, undo, or error-state treatment when the message requires repair, proof, long reading time, several actions, or reliable recovery. |
| Good UI | After submitting an application, a confirmation page says Application complete, shows reference APP-48291, explains the response window, and offers Save record and Track application. | A grant application page says Application complete, shows reference APP-48291, lists what happens next within 5 working days, and offers Save record, Track application, and feedback links. | After evidence upload, a success panel beside the evidence checklist says Evidence uploaded, shows receipt EV-2048, timestamp, and View receipt. | Export started appears in the top notification region with a timestamp, close control, and View jobs action that remains available in activity history. |
| Bad UI | The same transaction is submitted twice after users refresh or tap again. | Users submit twice because refresh or Back replays the final action instead of returning to the receipt. | A file-upload receipt appears only in a disappearing toast even though the user must quote it later. | Five unrelated toasts pile up over the Save and Continue controls. |
| Good UX | A user submits a benefits form, copies the reference, saves the receipt, reads that the agency will respond within 5 working days, and can return from a bookmark to a safe tracking route. | A user copies the reference, saves the receipt, follows Track application, and later returns from a bookmark to the same confirmation details or a helpful tracking fallback. | Users can copy the receipt reference, open the confirmed record, then see the success message collapse into normal completed state. | A completed archive action shows a short toast and a specific Undo action because the prior state can be restored. |
| Bad UX | A submit handler shows success before the server commit finishes and later fails silently. | Users submit twice because refresh or Back replays the final action instead of returning to the receipt. | The UI says Saved before the network request finishes and later silently reverts the draft. | Every autosave tick triggers a toast, training users to ignore real status changes. |
| Best fit | Use this anti-pattern entry to identify transaction success handled only by transient feedback. | A transaction or service journey has ended and users need durable proof plus next-step information. | A user action has completed and users need proof, object identity, or next-step orientation. | Use for short non-blocking confirmation after explicit actions such as save, copy, send, archive, invite, or queue export. |
| Avoid when | A toast supplements a durable confirmation page, success confirmation, notification center item, or receipt route. | The user remains inside an ongoing task and only needs local proof near the changed object. | The success is obvious, low consequence, and safe to communicate as a brief toast. | The message is the only recovery path for a blocking or high-consequence failure. |
| Required state | Pre-submit state with the transaction and affected object visible. | Submitted state immediately after authoritative commit routes to the confirmation page. | Confirmed success state with object identity, reference or timestamp, and changed status. | Stacked state with newest and older messages ordered predictably and capped. |
| Accessibility burden | Render durable confirmation text in normal reading order with transaction name, reference, and next steps. | Keep interactive controls out of low-contrast panel treatments unless focus and text contrast are explicitly verified. | Keep confirmation actions keyboard reachable and labelled with the affected object or reference. | Keep close and action controls keyboard reachable, clearly named, and stable while focused. |
| Common misuse | Using a generic Done toast for payment, booking, order, application, and profile-change outcomes. | Showing a toast or local success strip as the only proof of a completed transaction. | Showing success before the operation is actually committed. | Using a toast as the only feedback for payment, save, permission, upload, or security failures. |