Scenario 4 of 6
Empty results
The request succeeds but nothing matches the filter.
Expected behaviour
The Legacy plan has no accounts. The dashboard explains why it is empty and offers a next step.
Why it behaves this way
Empty is a successful answer, not an error. It should say what was searched, why nothing matched, and how to get to useful data.
- Derive “empty” from the data, never from a flag. Real APIs return empty arrays, not empty states.
- Name the filter that produced the empty result and offer to clear it.
- Keep the empty state visually distinct from an error so people do not retry something that worked.
Accessibility
The empty message is announced once, and the recovery action is a regular button that is reachable straight after the filter.
Mistakes this scenario exposes
- A blank chart with axes and no explanation.
- “Something went wrong” for a query that simply matched nothing.