Expertise · Interface and interaction

Design enough states for all interactive elements

An unresponsive interface causes customers to abandon it, no matter how beautiful it looks.

Quick summary

Each interactive element needs to have seven states: default, hover, focused, processing, success, error, and disabled. An element is only considered complete when all states are present, not just when it looks good with no one using it. Lack of feedback causes customers to click multiple times, lose trust, and leave without explaining why.

Quick comparison
You should choose this direction when
  • all buttons, forms, and selections need instant feedback
  • Actions expected to take over 10 seconds need to show progress or percentage.
  • need clear inactive status with reasons when actions are unavailable
Not needed when.
  • only draw the default state, ignore hover, focus, processing, error, disabled
  • General error report that does not specify where the mistakes are and how to fix them.
Quick glance
Commonly used industries
e-commerceSaaSFinance

A question worth asking when reviewing a design: "If you press this button and nothing happens for two seconds, what will you do?" The answer is almost always: press it again. That is when the problem begins: duplicates, double submissions, and loss of trust in the system. State and feedback are the foundation of a functional interface, not details added later.

The seven mandatory states

Each interactive element, whether a button, input field, dropdown menu, or link, needs to have all seven states listed below. Missing any state is a deficiency, not just "acceptable".

  • Default: the default state when there is no interaction.
  • Hover: When the customer hovers over, the interface must indicate that this element is clickable.
  • Focusing on the focal point: Customers use the keyboard to navigate, requiring clear borders or indicators to know where the cursor is.
  • Loading: After clicking, the system is working; a clear indicator is needed so that customers do not click again.
  • Success: completed actions, confirmed by a checkmark, notification, or appropriate screen transition.
  • Error: something is wrong; you need to point out where the mistake is and what the client needs to do to fix it.
  • Disabled: actions that are not available should be clearly indicated and should include a brief reason.

Three timeframes that customers perceive.

The Nielsen Norman Group has identified three time thresholds at which the human brain processes differently. These thresholds help determine the type of feedback that needs to be designed.

  • Under 0.1 seconds: Customers feel an instant response, like pressing a physical button. A small color change or a subtle press effect is sufficient.
  • Under 1 second: Customers notice a delay but their thought process remains intact. A small spinning icon or a button state changing to "sending" is appropriate.
  • Over 10 seconds: Customers lose focus and begin to doubt whether the system is running. A progress bar or percentage completion indicator is needed to reassure customers while they wait.

The system must always inform customers about what is happening, through appropriate feedback in a timely manner.

Nielsen Norman Group, Visibility of System Status (Heuristic #1)

Common mistakes when delivering

The most common point of loss occurs when transferring files from design to development. When the file only has a beautiful screen during idle time, developers must decide the remaining states on their own. The result is often inconsistent with brand identity.

  • The button does not respond after being pressed, causing the customer to press again and submit a duplicate order.
  • The deliverable file only has the default state, lacking hover, focus, processing, error, and disabled states.
  • Generic error messages like "An error has occurred," without specifying where the error is and how to fix it.
  • Use an indefinite loading spinner for long actions, causing customers to be unaware of how much longer it will take and think the system is frozen.
Indeterminate spinner vs. progress bar: An indeterminate spinner is suitable for operations that complete in a few seconds and cannot estimate time. A progress bar or percentage indicator is necessary when operations last over 10 seconds. It informs you that the system is running and how much longer it will take, rather than leaving you guessing. Using a spinner for long operations can make you think the system is frozen.

Feedback is a way to respect customers.

Timely feedback is not just a technical issue. It is how a brand shows respect for you: you always know where you are, what just happened, and what the next step is. A silent interface after you take action is an interface that does not respect your time.

Therefore, specifying all seven states should be a criterion for acceptance set at the beginning of the project, not left for developers to guess. An element lacking a state is an element that is not fully designed.

The tool brings back.

Decision checklist

Topic: Status and feedback when customers interact. Sinh Vũ guide, sinhvu.com

0 of 4 items

Tick each item that applies or that you can already answer, then print or save as PDF to take with you.

Sign indicating that you should take action
Questions to answer before deciding

If you have marked most of the signs above, this is the time to discuss in more detail. Sinh Vũ can help you review and propose a direction.

References

Nielsen Norman Group, Visibility of System Status (Usability Heuristic #1). Nielsen Norman Group, Response Times: The 3 Important Limits. Sinh Vũ's practical experience through design and operation projects in digital branding.

Frequently asked questions

If the website loads quickly, is it necessary to design a loading state?

Yes. Even if the server responds quickly, each user's connection varies. More importantly, designing the processing state in advance helps developers know how to handle slow networks. If left blank, they will handle it in a way that is inconsistent with the brand.

Is a simple error message like 'An error has occurred, please try again' sufficient?

Not enough. A good error message should help customers understand where they went wrong and how to fix it specifically. Generic errors force customers to guess, often leading to frustration or the need to contact support, both of which incur costs for the business.

Does the disabled state need an explanation?

You should have it, if the activation conditions are not clear from the context. A button that is unclear without reason leaves clients unsure of what to do next. A short note like 'Please fill out all information to continue' is enough to help clients correct it without needing to ask.

This article is for reference. The scope, pricing, and specific commitments of Sinh Vũ are detailed in the proposal and signed contract.

← Back to Digital experience