We're live on Product Hunt!Support us
ColorArchive

A curated color library with 5,000+ algorithmically generated colors. Browse, search, save favorites, and export palette tokens — no account required.

CollectionsFamiliesNotesGuidesFree ResourcesConvertColorblindAboutSupportUpdates
Ready for static export
Privacy·Terms·Refunds·Cookies·Commerce Disclosure
colorarchive.org · © 2026 ColorArchive
Skip to content
ColorArchive
ProLog in
ArchiveAll ColorsCollections
Issue 041
2026-09-17

Color and component states: building interactive color systems

A button has more than one color. Every interactive element in a UI has at least four states — default, hover, active, and disabled — and each requires its own color specification. Building state colors deliberately, rather than picking them on the fly, is one of the highest-leverage decisions in UI palette work.

UI DesignColor SystemsInteractive Design
Highlights
Most interactive color problems are discovered in production, not design. Building a state color system before component-level work begins prevents thousands of micro-decisions from accumulating into inconsistency.
The lightness shift model — where hover lightens and active darkens relative to the base color — is the most reliable and visually predictable pattern for interactive state colors.
Disabled colors should be desaturated and reduced in contrast, but not invisible. A disabled element that disappears from view creates confusion; one that appears clearly inactive communicates intent.

The state color problem no one plans for

Most color systems are designed around rest states. The design file has the default button, the primary accent, the surface colors — and the palette feels resolved. Then the first prototype ships and the team starts discovering: what does this button look like on hover? What changes on press? What about disabled? In the absence of a plan, these decisions get made ad hoc, by whoever is coding the component at the time. The result is usually inconsistent: some hover states are slightly lighter, some are slightly darker, some use opacity, and some add a border. A deliberate state color system defines these relationships once, before component work begins, and enforces them across the product.

The lightness-shift model for interactive states

The most predictable pattern for interactive state colors is a systematic lightness shift relative to the base. In a light-mode interface, the progression typically looks like this: default sits at the base hue, hover shifts 8-12% lighter, active shifts 6-10% darker than the default, and focus adds a high-contrast ring rather than changing the fill. On dark surfaces — the Nocturne Tech palette is a useful reference here — this reversal in direction is especially useful: hover states shift slightly toward the base surface color (slightly lighter), while active states deepen toward a near-black. The pattern works because it aligns with physical metaphor: hovering is approaching (lighter, less committed), pressing is sinking (darker, more committed).

Disabled state color: the accessibility edge case

Disabled colors are the most frequently under-specified state. The instinct is to make them gray — and that is mostly right — but the implementation matters. A disabled element should be clearly distinguishable from an enabled element (reduced contrast, desaturated fill) but not invisible. WCAG does not require disabled elements to meet 4.5:1 contrast ratio, but elements that are too low-contrast will be missed by users, creating confusion about whether the option is gone or just unavailable. The Dark Mode UI Kit includes pre-specified disabled-state tokens for each component type, which eliminates the guesswork and ensures the UI communicates clearly even in edge states.

Featured collection
Nocturne Tech

Dark-spectrum product colors with enough neon contrast to feel modern, not generic.

Open collectionSearch family
Open next
Open Nocturne TechExplore Dark Mode UI KitCheck contrast ratiosJoin updates
Related guides
dark mode color palette
Dark Mode Color Palette Ideas for Real Product Interfaces
How to build a dark mode color palette that keeps contrast, separation, and enough chroma to avoid the usual generic neon-on-black look.
color scheme for app
Color Scheme for an App: How to Build a Mobile Palette That Works Across Screens
Choosing a color scheme for a mobile app is different from web — smaller viewports, mixed lighting, and OS-level dark mode mean your palette choices have tighter constraints and higher stakes.
Newer issue
Saturation control: the underused variable in palette refinement
2026-09-10
Older issue
Seasonal palette shifts: how to adapt your core system for campaign content
2026-09-24