10 min

#f0c

Why a hex code is base 16 in the first place, why the shorthand doubles instead of padding, why 80 isn't 50%, and what you genuinely can't read off six digits no matter how long you stare.

CSS
7 min

Strangler fig

The pattern has a name and a literature, and the literature is about banks with 40 teams, and I have a 40-page site for a firm of surveyors, and the mechanics scale down further than anybody writes about.

Culture Agency
6 min

tabindex

I pressed Tab once on a client's homepage and focus went straight to a chat widget in the footer, past the entire page, because somewhere in that widget's markup was a positive number.

Accessibility HTML
7 min

The rewrite that shouldn't happen

This is the third proposal to rewrite the same system in five years, all three from competent people acting in good faith, and the interesting question isn't whether they're right, it's why the proposal keeps arriving.

Culture Agency
7 min

Analytics is a moral question

Everybody spent this summer migrating their analytics. Across four client projects, nobody once asked whether we should be collecting any of it. The question on the table was how.

Privacy
7 min

Debugging is a method

I watched somebody spend two hours on a bug by changing things and refreshing, and it took me a while to work out that nobody had ever told them there was a method, because nobody ever told me either.

Debugging
6 min

View transitions on a multi-page site

There's one argument for building a client-side app I've never had a good answer to: a real page navigation looks worse. The answer turns out to be a browser feature rather than a rebuttal.

CSS JavaScript
7 min

It wrote my CSS and I rewrote it

A real component, plausible output in nine seconds, and I kept about a third. The two thirds I threw away were wrong in a specific and predictable way.

AI CSS
6 min

Subgrid

In 2017 I predicted the omission from Grid I'd be most annoyed by. I was right for about a year, and then I stopped noticing. That's the more interesting half.

CSS
6 min

Nobody's leaving now

Eighteen months ago it was six recruiter messages a week. This month I've had one, and two of the three people who left have been made redundant.

Careers Culture
6 min

Container queries

Firefox shipped these two weeks ago, which means all three engines now have the thing everyone has been asking for since about 2013, and the headline everyone's using for it is not quite right.

CSS Responsive
7 min

HTML email is stuck in 1997

A client asked for the newsletter to match the new site, which is a completely reasonable request, and the answer involves explaining that the largest corporate email client in the world renders HTML using a word processor.

HTML Cross-Browser Compatibility