Skip to content
// writing

Posts tagged #accessibility

A mix of technical deep-dives, career reflections, and dispatches from the road.

CSS text-box-trim: The End of Fudging Vertical Padding thumbnail
developmentAug 13, 2026· 4 min
CSS text-box-trim: The End of Fudging Vertical Padding
Buttons that look bottom-heavy at padding: 12px aren't your fault, they're half-leading. text-box-trim finally lets CSS cut that invisible space, and it goes Baseline this month.
read more →
CSS contrast-color(): Let the Browser Pick Your Text Color thumbnail
developmentAug 3, 2026· 4 min
CSS contrast-color(): Let the Browser Pick Your Text Color
The contrast-color() function went Baseline in April 2026 and kills the luminance-math helper every design system eventually writes. Here is how it works, the mid-tone problem nobody warns you about, and how to work around it.
read more →
CSS :has() in Practice: The Parent Selector You Can Finally Ship thumbnail
developmentJul 20, 2026· 3 min
CSS :has() in Practice: The Parent Selector You Can Finally Ship
The :has() selector is Baseline and fast in 2026. Here's how to use it for parent styling, sibling reactions, and quantity queries without reaching for JavaScript.
read more →
CSS light-dark(): Stop Duplicating Your Dark Mode Colors thumbnail
developmentJul 9, 2026· 4 min
CSS light-dark(): Stop Duplicating Your Dark Mode Colors
The CSS light-dark() function collapses your two dark-mode palettes into a single declaration. Here is how it works, the color-scheme gotcha that trips everyone up, and how to wire up a manual theme toggle.
read more →
CSS Grid Lanes: Native Masonry Has Finally Landed thumbnail
developmentJul 5, 2026· 4 min
CSS Grid Lanes: Native Masonry Has Finally Landed
Masonry layout is coming to CSS as grid-lanes, and Safari shipped it first. Here's how the new display value works, why it beats the JavaScript libraries, and what it fixes for keyboard users.
read more →
Invoker Commands: Wiring Buttons to Dialogs and Popovers Without JavaScript thumbnail
developmentJul 2, 2026· 4 min
Invoker Commands: Wiring Buttons to Dialogs and Popovers Without JavaScript
The Invoker Commands API lets a button declare what it controls with command and commandfor, replacing modal and popover glue code with plain HTML.
read more →
CSS field-sizing: Auto-Growing Textareas Without a Line of JavaScript thumbnail
developmentJul 2, 2026· 4 min
CSS field-sizing: Auto-Growing Textareas Without a Line of JavaScript
The auto-growing textarea has been a JavaScript rite of passage for years. A single CSS declaration now does the whole job, and it works on inputs and selects too.
read more →
Grimicorn Neon: When a Calm Theme Goes Loud thumbnail
developmentJun 28, 2026· 4 min
Grimicorn Neon: When a Calm Theme Goes Loud
The high-voltage variant of Grimicorn keeps every semantic role and swaps in eight electric hexes. Here's what changes, what doesn't, and the contrast tradeoff that makes neon-on-black a deliberate choice.
read more →
Building Grimicorn: One Palette, Fourteen Tools thumbnail
developmentJun 27, 2026· 4 min
Building Grimicorn: One Palette, Fourteen Tools
How I turned a single calm, low-fatigue color palette into matching dark and light themes for VS Code, terminals, Obsidian, Claude Code and ten other tools — all generated from one source of truth.
read more →
WCAG 2.2: What Frontend Developers Actually Need to Fix thumbnail
developmentJun 18, 2026· 5 min
WCAG 2.2: What Frontend Developers Actually Need to Fix
WCAG 2.2 became the enforcement standard in 2026. Here are the nine new success criteria that matter most for frontend developers — and what to actually do about them.
read more →
// the newsletter
Don't miss the next one