| UI or UX | UI + UX - Attempted-departure safeguard for unrecoverable in-progress work | UI + UX - Background-saving form progress | UI + UX - Unpublished object version lifecycle | UI + UX - Consequential alert decision |
| UI guidance | Show a warning only when the user attempts to leave with real unsaved, pending, failed, or unrecoverable work; place in-app route warnings at the point of departure with Save and leave, Discard and leave, and Stay editing choices. | Render a clear autosave message before users start, then keep a persistent status surface for Pending, Saving, Saved with timestamp, Failed, Retry, and unsafe-to-leave states. | Label the current version explicitly as Draft, Unpublished changes, Published, Active, Locked, or Unavailable, and place that label near the object title, list row, editor header, and publish actions. | Render an alert-style modal decision with a specific title, consequence description, safe cancellation, and a destructive action label that names the object or scope. |
| UX guidance | Use exit warning to interrupt an attempted departure that would lose work, context, payment state, upload progress, or session-bound data the product cannot safely recover. | Use autosave when losing progress would hurt and background persistence is safer than making users hunt for a distant Save button. | Use draft state when users need to pause work on an object, return later, and decide whether to publish, activate, discard, or keep editing an unpublished version. | Interrupt users only when the action has a meaningful consequence that cannot be safely recovered afterward. |
| Good UI | A grant form user clicks Back with two unsaved answers; a dialog names the changed section and offers Save and leave, Discard and leave, or Stay editing. | A long application step says the application is saved on every change, shows Saving after an edited title blurs, then shows Draft saved just now with a timestamp. | A knowledge article header says Draft saved today, shows the currently published title, and offers Resume draft, Compare with published, Discard draft, and Publish. | Delete Research archive? explains that 14 notes and shared links will be permanently removed, offers Keep archive, and labels the danger action Delete archive. |
| Bad UI | Every navigation shows Are you sure you want to leave? even after the form is saved. | A form removes the Save button and shows no save status, leaving users unsure whether typed answers are safe. | An editor opens directly into draft text but the header only says Saved, so users cannot tell whether viewers see the changes. | A popup says Are you sure? with OK and Cancel but does not name the project, notes, or irreversible outcome. |
| Good UX | A user starts to close a tab after a failed autosave, sees the risk before leaving, stays on the page, retries the save, and then leaves without another warning. | A user writes a long answer, pauses, sees Saving, then sees Draft saved just now and can leave knowing the draft is recoverable. | A user opens a published article that has an unpublished version, chooses Resume draft, reviews a change summary, publishes, and sees the page become visible to viewers. | Cancel, Escape, and Keep archive leave the archive unchanged and return focus to Delete archive. |
| Bad UX | A user clicks a sidebar link after typing a long answer and loses it because the product only watched final Submit. | A user leaves after seeing an old saved message, but the newest field was never persisted. | A user closes an editor after seeing Saved, later discovers the page was never published, and cannot find the draft in the content list. | Every archive, filter, and dismiss action opens the same confirmation until users click through automatically. |
| Best fit | Users have unsaved or pending changes that cannot be recovered if they leave. | Users spend meaningful time entering form content or application progress. | Users create or edit objects that should not become visible, active, submitted, or externally effective until a later action. | The action is destructive, irreversible, costly, security-sensitive, privacy-affecting, or externally visible. |
| Avoid when | The page is clean, read-only, or all changes are safely saved and recoverable. | The form is short enough that a visible manual Save or Submit is clearer. | The change is a small one-field edit that should be saved or canceled immediately. | The action is routine and easily reversible. |
| Required state | Clean state with no exit warning attached. | Initial state that explains progress will be saved automatically. | Published or active state with no draft. | Pre-action state with an explicit consequential trigger. |
| Accessibility burden | Use a real dialog or alertdialog for in-app warnings, with a heading that names the loss risk. | Expose autosave status changes in a polite status region so assistive technology users hear Saving, Saved, and Failed states. | Expose Draft, Published, Unpublished changes, Locked, and Unavailable as text in the page title area and list rows, not only by color or icon. | Use alertdialog semantics or platform equivalent when the decision is urgent and requires a response. |
| Common misuse | Warning on every navigation regardless of whether work is dirty. | Removing the Save button while providing no autosave status. | Using Saved to mean both saved draft and published content. | Asking users to confirm every routine action until they stop reading. |