Been thinking about how much JavaScript we ship for basic UI patterns. Wrote it up.
Anchor positioning, Popover API, Scroll-Driven Animations and more — what they replace and what's still missing 👉 blog.gitbutler.com/the-great-cs...
Latest Posts by Arpit Agrawal
Haha sign me up! I only know of one store in my city that sells it and it is an hour away, so I buy like 5 of these at a time.
losing contact with the earth for 40 minutes sounds nice
My hand holding a glass jar of Lao Gan Ma Spicy Chilli Crisp with a bold red label and red lid, with melons and an orange visible in the background.
It’s so good, especially with eggs. Discovered it like 6 months ago, it’s been a delight.
🎨 I gotta say, my latest is a little treasure trove: what even is `contain`?! csswizardry.com/2026/04/what...
Journal: Mistrust
How Apple’s penchant for breaking the web has given me more empathy towards developers who are suspicious of the web platform.
🔗https://adactio.com/journal/22507
CSS nesting is now Baseline 🎉
Write nested selectors directly in CSS — just like Sass, but natively.
.card {
color: black;
&:hover { color: blue; }
.title { font-weight: bold; }
}
No preprocessor needed.
Learn more 👇
developer.mozilla.org/en-US/docs/...
Open UI has been working on speccing out the focusgroup attribute: a declarative way to support roving focus & add keyboard nav to composite widgets like toolbars/menus
We'd love your feedback!
Learn more & see open questions: developer.chrome.com/blog/focusgr...
H/t to Edge folks for prototyping
✍️ New post: This, Still Not for Everyone
A few thoughts on the new WebAIM Million report. And why we will only improve #accessibility on the Web together.
matthiasott.com/notes/this-s...
If you’ve ever tried to build a data table with a sticky header and a sticky first column, you know the pain: the reality was that only one of both would stick.
A recent change to CSS fixes this: `position: sticky` now plays nice with _single-axis scrollers_.
I've been caught by this before, and I've seen other experienced #CSS devs get stuck on it:
* { color: deepPink; }
html#high-specificity { color: teal !important; }
If we put that ID on the root, and some text in our document, what color will the text be?
I built a visual explainer of the CSS Cascade, the algorithm that determines the "winning value" from a list of competing declarations.
It's built on work by @bram.us and @miriam.codes.
cascade.arpit.codes
I wrote about how it came together on my blog: arpit.blog/notes/2026/0...
The Jetsons lied to us
The CloseWatcher API landed in Firefox 149, making it easy to listen for platform-specific 'dismiss' signals. Here's how it works:
The recording of @kitation.co.uk talk ‘The Plateau of Accessibility Compliance: Where do we go from here?’ is now available to watch online!
2026.stateofthebrowser.com/speaker/chad...
A screenshot of the video section of the HTML standard, now containing the loading attribute, a new addition
Spec proposal merged.
HTML video and audio lazy loading is now a web standard.
github.com/whatwg/html/...
html.spec.whatwg.org#the-video-el...
html.spec.whatwg.org#the-audio-el...
@beyondtellerrand.com Hi Marc, I'd love to attend #btconf Düsseldorf remotely via a streaming pass. Does the scholarship form also cover streaming passes, or is that only for in-person tickets?
So much so that I feel the urge to redesign my portfolio based on the approach he showed. For now, I’ll dive into his UA+ stylesheet and oli.css project to get a deeper understanding.
fokus.dev/tools/uaplus/
olicss.com
Many of the speakers were kind enough to share a link to their slides. I haven’t checked out all of them yet, but I liked @matuzo.at’s talk ‘Breaking with habits’.
noti.st/matuzo/K64nm...
By all accounts, it was an excellent event. The regret at missing out (RAMO) is real. I remotely attended #SotB 2026 and I’d love it if more events offered a remote option.
adactio.com/journal/22353
I couldn’t make it to #WebDayOut. Thankfully, @adactio.com wrote about it and linked to a bunch of online talk about it. Special shout out to @joshtumath.uk who live-blogged each talk.
adactio.com/journal/22465
Thank you. I've added a comment with a test case.
😂😂😂
Thanks Roma!
Also, your anchored sidenotes implementation is excellent, I learned a lot from it.
I came across this bug while exploring @kizu.dev's implementation of Eric Meyer's Nuclear Anchored Sidenotes.
codepen.io/kizu/pen/abR...
@jensimmons.bsky.social Hi Jen, I think I found a bug with CSS anchor positioning in Safari. I have a chain of elements where each one positions itself below the previous one using `inset` and `anchor()`. It works as expected in Chrome & Firefox but breaks in Safari.
Pen: codepen.io/editor/arpit...