Accessibility and content
Unavailable data and recovery
Maintain a useful interface when content, providers, fonts or requests fail.
On this page
Failure model
| Boundary | Expected behavior |
|---|---|
| Image delivery | Fallback surface, useful text and no distorted broken image. |
| Search/list | Differentiate empty result, loading and service error. |
| Save/publish | Preserve edits, show a truthful outcome and avoid duplicate submission. |
| Media batch | Identify failed item; retain local metadata and retry context. |
| Map provider | Explain unavailability and retain useful local category context. |
| Analytics provider | Missing configuration/error differs from zero visitors. |
| Theme/font storage | Readable fallback presentation without dependency on successful storage or custom font delivery. |
Coverage boundary
The capture environment intentionally disables live services. Some unavailability paths are visible in native routes; provider recovery needs targeted fault injection in a safe environment. Do not infer end-to-end resilience from a populated fixture.
Source references
| File | Responsibility |
|---|---|
| components/explore-map-unavailable.tsx | Audited Townwell implementation; use this file when extending this interface. |
| components/admin/media-library/media-upload-workbench.tsx | Audited Townwell implementation; use this file when extending this interface. |
| components/admin/admin-analytics-dashboard.tsx | Audited Townwell implementation; use this file when extending this interface. |
| components/theme-mode-toggle.tsx | Audited Townwell implementation; use this file when extending this interface. |
Related topics
Source audit: 2026-10-07 · Revision ce8bc72b96da · Documentation v0.1