Disabled state

A disabled state renders an interactive control non-interactive and visually subdued to indicate it is not currently available. Disabled controls must communicate why they are unavailable and how to enable them.

What is a disabled state in UX design?

A disabled state is the visual and behavioral condition of an interactive control, such as a button, input, or link, that is currently unavailable for interaction. Disabled controls are rendered in a visually subdued style, typically with reduced opacity or a grey color, and do not respond to user interaction. They communicate that the action or input is not available in the current context, either because a prerequisite condition has not been met, because the user lacks the required permission, or because the action is not applicable to the current selection or state.

What are the most common disabled state UX mistakes?

Disabling controls without explaining why is one of the most frustrating UX experiences for users who encounter them. A grey, non-interactive button with no explanation leaves users uncertain about whether they are doing something wrong, whether they lack a permission, or whether the feature simply does not work. WCAG explicitly excludes disabled controls from color contrast requirements, which means disabled controls are often rendered at very low contrast levels that make them difficult to notice or read. Hidden disabled controls, which are removed from the interface entirely rather than shown in a disabled state, give users no indication that the action exists or under what conditions it would become available.

What are the alternatives to disabled states?

When a control is disabled because a prerequisite has not been met, explaining the prerequisite inline near the control is more helpful than simply disabling it. If a form submit button is disabled because required fields are empty, indicating which fields are required and incomplete is more useful than a grey button alone. In some cases, allowing users to attempt the action and explaining why it cannot be completed through a clear error message is more informative than preemptive disabling. Showing the control in an enabled state with a tooltip or adjacent explanation of why it is not yet available combines discoverability with explanation, and is often a better pattern than disabled styling alone.

Related terms

Related guides