Skip to content
ColorArchive
Motion Design
2028-09-02

Color in Motion: How Animation Changes Color Perception and What Designers Miss

Static color design and motion design interact in ways most designers do not account for. Color in motion is subject to perceptual phenomena that do not exist in static composition — temporal brightness averaging, chromatic flicker, persistence of vision effects, and the way transitions change apparent saturation. A practical guide to designing color systems that work in motion.

Highlights
Chromatic flicker is the most overlooked color-in-motion issue for designers outside broadcast. When a hue or luminance value alternates rapidly (above ~4 Hz), the human visual system does not average the alternating states — it perceives flicker that is disproportionately irritating at certain contrast ratios and hue combinations. Red-green flicker at high contrast is the most physiologically activating and the most likely to trigger photosensitive responses. WCAG 2.1 Success Criterion 2.3.1 addresses general flicker; for motion-heavy UIs, also apply the Harding Test criteria (flicker below 3 Hz for large areas, avoidance of saturated red-green transitions).
Transitions between colors of very different saturation levels create a perceptual artifact: the higher-saturation endpoint appears even more saturated during the transition than it does as a static color. This is because the visual system is comparing the two states in rapid succession. A fade from a muted gray to a vivid orange will make the orange appear more vivid than a static field of the same orange. Motion designers exploit this deliberately — use low-saturation entry states and high-saturation exit states to amplify perceived intensity at key reveal moments. The reverse (vivid to muted) creates a landing sensation: things settling into place.
OKLCH is the correct color space for animation because it is perceptually uniform — equal numerical steps produce equal perceived change in lightness, chroma, and hue. CSS linear-gradient and transition interpolate in sRGB by default, which creates brightness dips (through muddy intermediates) when transitioning between saturated hues. For vivid color transitions (brand animations, loading states, hover effects), interpolate in OKLCH using the CSS Color Level 4 specification: `linear-gradient(in oklch, color-a, color-b)`. This eliminates the gray mud that appears when transitioning directly between saturated red and saturated green or blue.

Designing hover and transition colors for perceptual accuracy

Standard practice: on hover, lighten or darken the base color by a fixed hex or HSL increment. The problem: HSL lightness increments are not perceptually equal — the same numerical step produces very different perceived brightness changes depending on starting hue. Blue-to-light-blue hover looks flat; yellow-to-light-yellow hover looks huge. The solution: design hover states in OKLCH. Start with the base color in OKLCH, step L (lightness) by +8 for light mode hover, -8 for dark mode hover. This produces perceptually consistent hover contrast across all hues — a blue hover and a yellow hover both 'feel' like the same visual step up or down.

Loading states and skeleton screens: the color rules

Skeleton screens use a pulse animation between two lightness states. The rules for getting this right: (1) The dark skeleton color should be 6-10 OKLCH lightness units below the background. Too close and the skeleton disappears into the background; too far and it becomes distracting. (2) The light skeleton color should be 3-5 OKLCH lightness units above the dark state — the pulse is subtle, not dramatic. (3) The animation easing should be ease-in-out with a 1.2-1.8 second period — too fast feels anxious; too slow feels broken. (4) Skeleton colors should be desaturated but not pure gray — match the slight chroma of the background surface (if the background is warm white at 3% amber chroma, the skeleton should also carry that amber direction at the same or slightly higher chroma level).

Newer issue
Color Naming for Design Systems: Why Your System Breaks Down and How to Fix It
2028-08-26
Older issue
Color Psychology in Product Design: What the Research Actually Shows
2028-09-09