About the journal All articles Contact

A journal for design developers

design-profiler

Written by working design engineers. New articles on Tuesdays.

All articles

Every article and tutorial we have published, newest first. Each piece links to its primary sources, so you can check everything we claim.

Stacks of printed design magazines and journals on a wooden shelf, one issue lying open

The index

CSSAugust 7, 2026 · 3 min

The undeniable utility of CSS :has()

The CSS :has() parent selector closes a twenty-year gap. Five practical patterns — form validity, quantity queries, content-aware layout — that used to require scripting.

MotionAugust 7, 2026 · 3 min

Springs and bounces in native CSS

Overshooting, spring-like motion in pure CSS is here. How the linear() easing function reproduces bounce and oscillation, where the numbers come from, and when to use it.

SystemsAugust 7, 2026 · 3 min

Design tokens that survive re-branding

Why naming a token --blue-500 breaks on re-brand day, and how a primitive / semantic / component token structure turns a brand overhaul into one line — plus free theming.

A11YAugust 7, 2026 · 4 min

Building a modal that doesn't trap anyone

An accessible modal holds focus while open and hands it back on close. The full native dialog sequence: showModal(), autofocus, aria-labelledby, focus return.

CSSAugust 7, 2026 · 4 min

Brand new layouts with CSS subgrid

Subgrid lets a nested grid inherit its parent's tracks, so card internals align across independent containers. The before/after, the syntax, and the fallback.

MotionAugust 7, 2026 · 3 min

The big gotcha with @starting-style

@starting-style gives you CSS entry animations, but the exit vanishes because display: none snaps. The two-line fix with allow-discrete and overlay, explained.