harden

Keep the interface usable when data, connections, or actions go wrong.

On this page 3 sections

Use harden when a page works with sample data but breaks with a long name, an empty result, or a failed request. Impeccable finds those gaps and adds the handling people need to keep going.

Try it

/impeccable harden the delivery-note form. Preserve the draft if saving fails and prevent duplicate submissions.

Start with a page or flow and the failures you’re concerned about. You can also name a specific need, such as long translations or read-only access.

How it works

Impeccable examines the failure cases and changes the interface to handle them:

  • Text and data extremes: support long names, empty values, large numbers, and long lists without breaking the layout.
  • Loading and errors: explain what is happening, preserve input, and offer recovery where the product supports it.
  • Language and formatting: allow text expansion, right-to-left content, and appropriate date, number, and currency formats.
  • Repeated or conflicting actions: handle double submissions, overlapping requests, and permission changes.
  • Accessibility and fallbacks: keep controls reachable and state changes understandable across supported browsers and input methods.
Failed save: draft lost
Delivery noteAdd delivery instructionsCouldn’t save your note. Try again.Try again
Failed save: draft kept
Delivery notePlease deliver after 2 p.m.Couldn’t save your note. Try again.Try again
Illustrated recovery: after a failed save, the note remains in the form so someone can retry without rewriting it. This example assumes the form supports retrying.

The fix depends on what people need to preserve. A long value may need to wrap or expand; shortening it is only useful if the full information remains accessible.

Check the result

Reproduce the problem: disconnect the network, submit twice, or use longer text. Check that input survives where it should, messages explain the next step, and keyboard users can recover too.

Use onboard for a broader first-use experience, optimize for slow interactions, or polish to refine the finished states.