Five Things Every CMS Image Field Needs
Most CMS image fields do exactly one job. They take a file, then hand you a single box to type an alt attribute into. That’s fine for one…
Latest ·

My whole git workflow hangs on two hooks. The other five are still in the wrapper.
I’ll say it plainly: my entire git workflow runs on two commands. when I need to get out of the way. when I need to get somewhere else. No…
Most CMS image fields do exactly one job. They take a file, then hand you a single box to type an alt attribute into. That’s fine for one…
Comments rot. Types don’t — the compiler checks them on every build. Here’s a claim worth testing: the best comment you’ll ever write is the…
How to write alt text for image galleries — and when to reach for captions or long descriptions instead. A photography portfolio has forty…
“What goes into the agent before it runs decides what comes out.” — a lesson I keep relearning. A confession: give me a coding agent and a…
Every frontend team has the ticket. “Evaluate moving off ts-jest.” It rots in the backlog for a year. Nobody picks it up, because everyone…
A confession: early in my career, my images shipped with no text at all. If an image mattered, I gave it a visible caption and moved on (I…
The European Accessibility Act turns one tomorrow. It took force on 28 June 2025. For many teams it was the first hard deadline they had…
“Standards evolve, user needs are wildly diverse, and manual audits can feel like searching for a semicolon in a haystack.” Let’s be honest…
In this post we explore the marvelous world of Discriminated Unions in TypeScript. Discriminated Unions are a way to combine types that have…
When I hear media query I think about a bottle filled with liquids that don’t mix (e.g. oil and water). The content(water/oil) will assume…
Another common accessibility tool is the skip button. It comes in different forms. It would sometimes be smartly included in the design or hidden until needed.