tabindex, and the four values that matter
I pressed Tab once on a client's homepage and focus went straight into the support chat launcher below the footer, because somewhere in the markup that widget injects there was a positive number.
I pressed Tab once on a client's homepage and focus went straight into the support chat launcher below the footer, because somewhere in the markup that widget injects there was a positive number.
A proposal landed in August to rebuild a client platform from scratch, and when I went digging in the shared drive I found two older ones saying almost exactly the same thing.
The thing everybody knows as the way to cancel a fetch is also the tidiest way to remove a pile of event listeners, and the second use has changed more of my code than the first.
Two customers wrote in to say the sale wasn't on the store's homepage, I opened the homepage and the sale was right there, and it took me most of an afternoon to figure out that the difference between us was me.
A designer sent over a few seconds of the client's own phone app, where a tapped product photo grows into the hero image on the next screen, with a note asking whether the website could do that.
Two selectors that look interchangeable in every example anybody writes, and differ on the one thing that actually causes problems later.
A client circled three buttons in a screenshot and asked why one of them sat lower than the other two, and the answer was a hole in Grid I complained about six years ago and then stopped noticing.
I priced out everything my job gave me that wasn't salary, and two years later every number on that list belongs to a market that ended.
A client dragged a product card out of the main column into their sidebar and the button ended up hanging off the edge of it, because the class that would have laid it out narrow gets applied by a developer and there wasn't one in the room.
A client asked whether the newsletter could look like their new site, which is a completely fair question, and answering it honestly meant explaining that the biggest email client in the working world lays out HTML with a word processor.
A checkout test failed about 1 run in 15, everybody called it flaky and re-ran the job for months, and the whole time it was reporting a real race that customers were hitting too.
A site I built in 2018 at a previous agency spent about two months redirecting phones to a sweepstakes page, and the invoice we sent for cleaning it up was larger than a year of the maintenance nobody had ever sold them.