Shoutout to everyone who lived through the <frameset> era and survived to tell the tale.
Declan's writeup on obsolete HTML elements is equal parts nostalgia and horror. www.htmhell.dev/adventcalen...
Declan stresses that accessibility isn't something to tack on later. It should be embedded from the start, integrated into wireframes, designs, code, and QA. It's a shared responsibility, not just one person's job.
vale.rocks/posts/acces...
When we put multiple feature branches live at once.
Obs.js uses browser APIs to evaluate connection, battery, and performance. It applies root CSS classes giving you easy hooks to optimize content delivery by adjusting image resolution, omitting web fonts, or disabling autoplay videos. csswizardry.com/Obs.js/demo/
Life changing tip for Claude code users. Start your prompt with ! to enter bash mode and bypass Claude to run bash scripts without opening new terminal windows/tabs 💫
Remember when masonry layouts meant pulling in a JavaScript library?
CSS Grid Lanes just shipped in Safari Technology Preview. It's `display: grid-lanes` plus a couple properties and you're done. The browser handles the rest.
webkit.org/blog/17660/...
Chrome's year-end roundup of CSS and UI features is here. 22 additions to the platform in 2025, with varying levels of browser support. Worth a skim to see what's coming.
chrome.dev/css-wrapped...
Addy Osmani's reflections after 14 years at Google are worth your time.
Lesson 7 hits: "The best code is the code you never had to write." addyosmani.com/blog/21-les...
Chrome 144 shipped <geolocation>, an HTML element that replaces the imperative location API with something declarative. User clicks a button, permission flows naturally. Includes autolocate attribute and degrades gracefully in Firefox and Safari.
developer.chrome.com/blog/geoloc...
With Chrome 144, we now have "scroll-state(scrolled)," a container query that allows styling based on user scroll activity. Every time we replace JavaScript with pure CSS, it's a triumph.
una.im/scroll-stat...