error-page
The whole body of an error response: the status, one honest sentence, a way back, and 500 references an admin can use.
404 — not found
<div rst-error>
<p rst-error-status>404</p>
<h1 rst-error-title>We can't find that page</h1>
<p rst-error-body>The link may be out of date, or the page may have moved. Check the address, or go back to the start.</p>
<p rst-error-cta><a rst-btn="primary" href="/">Start page</a></p>
</div>
403 — forbidden
<div rst-error>
<p rst-error-status>403</p>
<h1 rst-error-title>You can't see this</h1>
<p rst-error-body>Your account doesn't have access here. If you think it should, ask whoever runs this site.</p>
<p rst-error-cta><a rst-btn="primary" href="/">Start page</a> <a rst-btn href="/posts">Go back</a></p>
</div>
422 — unprocessable
<div rst-error>
<p rst-error-status>422</p>
<h1 rst-error-title>That didn't go through</h1>
<p rst-error-body>Something in what was sent wasn't right. Go back and try again; nothing was saved.</p>
<p rst-error-cta><a rst-btn="primary" href="/">Start page</a> <a rst-btn href="/posts/1/edit">Go back</a></p>
</div>
500 — server error
<div rst-error>
<p rst-error-status>500</p>
<h1 rst-error-title>Something went wrong on our side</h1>
<p rst-error-body>It's not you. The problem has been recorded. Try again in a moment; if it keeps happening, quote the reference below.</p>
<p rst-error-cta><a rst-btn="primary" href="/">Start page</a></p>
<p class="rst-mono" rst-error-ref dir="auto">Reference: k3f9tq</p>
</div>
A 500 is the one status with a reference: an operator can grep the logs for it.
503 — unavailable
<div rst-error>
<p rst-error-status>503</p>
<h1 rst-error-title>We're briefly unavailable</h1>
<p rst-error-body>The site is being updated or is busy. Try again in a minute.</p>
<p rst-error-cta><a rst-btn="primary" href="/">Start page</a></p>
</div>
Anything else — the generic pair
<div rst-error>
<p rst-error-status>418</p>
<h1 rst-error-title>Something's not right</h1>
<p rst-error-body>That request couldn't be completed. Go back and try again.</p>
<p rst-error-cta><a rst-btn="primary" href="/">Start page</a></p>
</div>
Five statuses are worded in the framework catalog. A sixth falls back to the generic pair rather than rendering a missing key's name at a reader.