Skip to main content
LanguageEnglish
Basics5 min readOctober 2026

What are UI states?

Short answer

UI states are the different ways an interface element looks and behaves depending on what is happening: default, hover, focus, pressed, disabled, loading, success, error and empty. Every interactive component needs a design for each state it can be in. Missing states are one of the most common reasons a product feels unfinished.

Core Takeaway

  • Interaction states: default, hover, focus, pressed (active), disabled
  • Data states: loading, empty, partial, error, success
  • Focus states are essential for keyboard and accessibility users
  • Transitions between states matter as much as the states themselves
  • Designing states as a list (or a state machine) stops them being forgotten

A button in a mockup usually shows one state: the default. In the real product the same button is hovered, focused with a keyboard, pressed, disabled while a form is incomplete, and loading while a request is sent. Each of those is a UI state, and each one needs a design.

It helps to separate two groups. Interaction states come from the user: hover, focus, pressed and disabled. Data states come from the system: loading, empty, partial data, error and success. A list screen, for example, needs a design for when it is loading, when it has no items, when it has one item, when it has hundreds and when the request fails.

Focus states deserve special attention. People who use a keyboard or switch device depend on a visible focus indicator to know where they are. Removing the browser focus outline without a replacement is one of the most common accessibility failures.

The change between states is part of the design too. A short, clear transition from default to pressed confirms the tap. A loading state that turns smoothly into success tells people their action worked. Abrupt jumps, or animation that is too slow, make the interface feel unreliable.

A practical way to avoid missing states is to list them for each component before designing, or to model the component as a state machine: a set of states and the events that move between them. ExodeUI, which we make, works this way. You design each state and the transitions between them in one file, and your code sends the events that switch states in the real app.

Frequently asked questions

What are the states of a button?

Usually default, hover, focus, pressed (active), disabled and loading. Some buttons also have success and error states after an action.

What is the difference between focus and hover?

Hover happens when a mouse pointer is over an element. Focus happens when an element is selected for keyboard input, for example with the Tab key. Both need a visible design.

Should disabled buttons be used?

Use them carefully. A disabled button gives no reason why it is disabled. Often it is clearer to keep the button active and explain what is missing when it is pressed.

What is a state machine in UI design?

A model that lists every state a component can be in and which events move it from one state to another. It makes missing or impossible states easy to spot.

Related Guides & Examples

See every state of a real component

Open free animated components with hover, pressed, loading and success states already designed, and change them in the browser.

Browse live components
ExodeUI

EXODEUI DESKTOP

A little space for good ideas.

Choose your platform to get the official ExodeUI installer.

Looking for Intel Mac or other builds? Explore the web studio or check all download options.

Prefer the browser? Try for free in your browser →