| UI or UX | UI + UX - Whole-service unavailable page | UI + UX - Recoverable failure surface | UI + UX - Connectivity-mode and local-work continuity state | UI + UX - Urgent full-width sitewide alert near the top of every page |
| UI guidance | Render a full page with the service name, unavailable scope, status, return time or update promise, saved-work status, alternate route, support contact, and request or incident reference when available. | Render a persistent error region near the affected content with a specific failure heading, plain-language cause, preserved context, and recovery actions. | Show offline status where it changes the current task, naming what remains available such as cached reports, local draft editing, queued saves, or read-only history. | Render the site alert as a full-width message near the top of the site, before ordinary navigation or page content users might otherwise start from. |
| UX guidance | Use a service unavailable page when the service, transaction, or route is intentionally closed, under maintenance, overloaded, permanently closed, or unable to handle requests at the entry point. | Help users recover when expected loading, saving, validation, sync, permission, or computation fails without losing their work. | Use offline state to preserve trust and task continuity when connection loss changes what users can read, edit, submit, sync, refresh, or share. | Use a site alert when urgent public or servicewide information must be obvious and findable from any page, including deep links, refreshes, and routes outside the home page. |
| Good UI | A benefits application page says the service is unavailable from 22:00 to 01:00, names the affected transaction, says saved drafts remain for 30 days, and links to urgent phone support. | Reports could not load appears in the report section with the saved filter, Retry, Use cached data, and Contact support actions. | A field report says Offline: 3 edits saved on this device, cached customer history shown from 10:42, Submit disabled until connection returns, and Retry connection. | A public benefits site shows Emergency office closures at the very top of every page, with affected offices, updated time, and a link to alternate service channels. |
| Bad UI | A blank white page with only 503 in the browser title. | Tiny transient toast for a blocking failure. | A blank page says You are offline even though the app has cached drafts and help content. | The emergency message appears only on the home page, so users who land on Apply or Help do not see it. |
| Good UX | A user returns during planned maintenance, sees a precise reopening time, learns their draft is saved, and uses an alternate phone channel for an urgent deadline. | User input and filter context are preserved after failure, and retry returns to recovered content or a clear still-failed state. | A user loses connection while editing an inspection note, sees it saved on this device, attaches photos to a queue, and later watches the queue sync after reconnect. | A user enters through a bookmarked application-status page and still sees the same closure alert before using the service. |
| Bad UX | Users repeatedly refresh because the page gives no recovery window or status update path. | Clearing work after save failure. | The app keeps a spinner on Save during airplane mode and never explains that no network request can start. | Users dismiss a critical emergency alert once and never see a later update because dismissal is not versioned. |
| Best fit | A whole service, transaction entry point, or route is closed or not ready to handle requests. | A system or task failure blocks expected content or action. | Connection loss or server reachability changes the user's current task. | Urgent public, safety, operating-status, outage, closure, or availability information applies to the whole site or service. |
| Avoid when | Only one local section or action failed and users can recover inside the current page. | Nothing exists yet and the state is expected. | A single request failed while the rest of the app is reachable and an error state is clearer. | The message applies only to one product workspace, account, section, page flow, field, row, or task. |
| Required state | Planned maintenance page with start or return time. | Normal expected state before failure. | Online normal state with no offline warning. | No-site-alert state when no urgent sitewide condition applies. |
| Accessibility burden | Use a unique page title and H1 that state the service is unavailable, not just a code. | Use appropriate alert or status semantics for newly appearing critical errors. | Announce significant connectivity changes with status messaging when they affect the current task. | Give the site alert a descriptive aria-label or labelledby value so it appears clearly in landmark navigation. |
| Common misuse | Using a full-page spinner for a closed service. | Using a transient toast for critical errors. | Showing only a browser-style offline page when useful cached or local content exists. | Showing a sitewide emergency only on the home page. |