| UI or UX | UI + UX - Top-of-interface broad-scope message | UI + UX - Urgent current-task status message | UI + UX - Contextual in-flow feedback | UI + UX - Transient non-modal status message |
| UI guidance | Render the banner at the top of the interface or content area it governs, below required global chrome and before the page content that should be interpreted with that message. | Render an alert as a visible message in the current task area with a clear severity cue, short title, consequence-focused body, and one direct action or safe dismissal when appropriate. | Render the message inside the same row, card, panel, form section, or task region that it describes, with a clear tone, concise title, body text, and at most one local action or detail disclosure. | 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 banners when users need broad context before continuing across several pages or sections, such as maintenance, service delay, account setup, rollout, policy, or official-site identity information. | Use alerts when the user must notice a time-sensitive condition that affects their current task, such as session expiry, lost connection, unsaved work risk, failed submission, or a security-sensitive hold. | Use inline messages when users need contextual feedback while continuing nearby work, such as a row-level warning, section-level success, local policy note, or task-specific next step. | Use toast notifications for low-risk, short-lived feedback after an action completes or background work changes state without requiring the user to stop the current task. |
| Good UI | A billing workspace shows Scheduled maintenance Saturday directly below the product header across all billing pages, with View schedule and Dismiss when safe. | A session alert appears above the active editor, says the session expires in 2 minutes, and offers Save draft while keeping the editor usable. | An invoice row shows Missing billing contact directly beneath the affected customer with Add contact as the only action. | 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 | Three unrelated banners stack above the page heading and push the account task below the fold. | A vague red strip says Warning with no object, consequence, or next step. | A vague Important message appears above the whole page with no object reference. | Five unrelated toasts pile up over the Save and Continue controls. |
| Good UX | A user moves from Overview to Invoices and still sees the same maintenance banner because the outage affects the whole billing workspace. | Users can renew the session, save a draft, or inspect details without losing typed work. | Users can reveal why export is limited, add the missing contact, and see the local message resolve without losing table context. | A completed archive action shows a short toast and a specific Undo action because the prior state can be restored. |
| Bad UX | A field validation error appears in a banner, forcing users to hunt for the failing input. | The only warning that unsaved work will be lost disappears after five seconds. | The message disappears like a toast even though users still need the invoice reference. | Every autosave tick triggers a toast, training users to ignore real status changes. |
| Best fit | The message applies across several pages, routes, sections, records, or sessions. | A current task has a time-sensitive warning, error, or important status change. | A visible object or section has local status, warning, success, or next-step information. | Use for short non-blocking confirmation after explicit actions such as save, copy, send, archive, invite, or queue export. |
| Avoid when | The message affects only one field, object, row, panel, or local task section. | The message belongs beside one object, row, field, or local section. | The message is a one-field validation correction. | The message is the only recovery path for a blocking or high-consequence failure. |
| Required state | No-banner state when no broad-scope message applies. | No-alert state with the task operating normally. | Neutral local context with no message. | Idle state with no visible toast and a reachable status or history region when applicable. |
| Accessibility burden | Use a labelled region or landmark when the banner is persistent page content that users may want to navigate to. | Use role alert for urgent dynamic text and avoid putting interactive controls inside the role-alert node itself. | Keep the message in the reading order near the context it describes. | Expose the toast as a status or alert message according to urgency so assistive technologies can announce it without requiring focus movement. |
| Common misuse | Using a banner for one field error, one row warning, or one card status. | Using a disappearing toast for warnings users must act on before continuing. | Using an inline message for a single field error that should be connected to that input. | Using a toast as the only feedback for payment, save, permission, upload, or security failures. |