Some copy recurs in a fixed shape. An error, an empty state, a loading label, a destructive confirmation — each has an anatomy that people learn to read. Write the pattern once and every instance stays predictable.
This section gathers the surface-specific rules that live today across several standards; the standards remain the source of truth.
Patterns
- Errors — state what happened, then what to do next; never a raw code as the primary message (CNT-1).
- Async states — every transaction shows loading, success, and error (CMP-3). Loading and follow-up actions end with an ellipsis: "Saving…", "Rename…".
- Empty states — lead with the next action, not an apology for the emptiness.
- Destructive confirmations — plain consequences, no drama (CMP-2).
- Permission and data requests — say what's collected, why, and how it's used, before you ask.