The Invoker Commands API is the new hotness for a declarative #HTML solution to the problem “click and see something happen!!” However… If we’re inside shadow DOM and the button being clicked is supposed to do a thing via its host component, then uh, nope. 🤨 Thankfully there’s always a workaround in the Wide World of the Web, so I’ve written it up and here it is! 😁 Yay for building directly on top of platform mechanics. 👏 #JavaScript #WebComponents #WebDev
Ever since #CSS backdrop-filter became a thing, combined with careful usage of gradients and shadowing it’s allowed #WebDev designers to make objects appear glassy to varying degrees. No doubt we’ll now see more attention paid to bringing elements of “glassmorphism” to web-based design systems. While I don’t recommend trying to recreate Apple’s Liquid Glass effects verbatim, we can use it as a point of inspiration for designing our own uniquely delightful interfaces:
Just a reminder that MCP is the new Google AMP. Avoid it like the plague. Don't use it, don't implement it, and by the love of all that is holy *don't allow Big AI to dominate the open web like this.* Your future self will thank you.
I almost titled this “Yo dawg, I herd you like windows so I put windows in yo windows so you can use windows while ur using windows” 😂 Here's the deal: I’ve been mulling over some interface concepts for a new app I’m designing, and it occurred to me it might make sense to use an old-school desktop metaphor for organizing the “documents”. All of a sudden I wondered: maybe there’s already a good #JS library which can do the heavy lifting for me? Answer: there is! #WebDev
Move over Bootstrap. Web Awesome is an awesome successor to what in my opinion was already the best open source #WebComponents library (Shoelace) on the market. Now we have the best #CSS framework on the market. All of the CSS is…um…just CSS and all of the components are…um…just web components. Native #WebDev APIs across the board. 🙌 Take a first look at the brand new public beta:
Oh wow, do mine eyes deceive me? No, it's true! That HTML Blog's newsletter is back online! Get ready for regular updates once again on all things vanilla #WebDev #HTML #CSS #JavaScript and the paradigms, protocols, & people who make the magic happen. (Now's a good time to subscribe, if you haven't already! ☺️)
I hate saying things which seem blindingly obvious, but when Famous People™ such as Theo on YouTube make these basic mistakes, I wonder. 🧐 So here you go: `document.querySelector("# my-dumb-button").addEventListener(...)` is completely obsolete in the year 2025. Never do that again please. You don't need to! If you're wondering “well, what should I do instead?”, leave a comment and we'll talk about what to do instead. Apparently it will BLOW YOUR MIND! 😂 #HTML #JavaScript #WebComponents
How do you typically mount some #JavaScript behavior to an #HTML page? #WebDev
🚨🚨🚨🚨🚨 ❗❗
Since we last reported on the back & forth regarding defining a "masonry layout" #CSS syntax, an intriguing development has transpired! Jen Simmons et al. over at the WebKit Blog have written about a third possible path forward, and it has implications beyond merely implementing masonry layout. It is the initial steps towards formulating a unified layout system that blurs the lines between flexbox and grid. This new #WebDev concept is tentatively being called Item Flow.