Web Weekly #190
Guten Tag! Guten Tag! π
Do you use image-set for background images in CSS? Have you used Wakamai Fondue to analyze your variable fonts? And do you know that field-sizing isn't only about textareas?
Turn on the Web Weekly tune and find some answers below. Enjoy!
Jesper listens to Yttling Jazz β "Illegal Hit" and says:
This is a song that helps me keep my head up during winter and look forward to spring!
Do you want to share your favorite song with the Web Weekly community? Hit reply; there are three more songs left in the queue.
Let's kick things off with some quick-to-read accessibility resources that didn't fit elsewhere!
Not new, but still relevant: Adrian shared Where to Put Focus When Opening a Modal Dialog. It comes with the banger opener:
Blanket statements about where to put focus when opening a modal dialog are wrong, including this one.
I also discovered Steve's post explaining that hidden content still makes it into the computation of an element's accessible name. This fact is important when you're connecting error messages with aria-describedby and hiding a possible error with display: none. The error won't be visible, but it'll still be part of the accessible name computation. Not good.
And lastly, Manuel reminds us all that box-shadow isn't an alternative to a proper outline! Let's stick to the defaults.
I'll share some more accessibility resources next week. Is there anything great I should include?
A big thank you and a huge bag of karma points go to Daniel who provided a new testimonial! If you have something nice to say about Web Weekly or want to support indie publishing in the times of cheap AI slop, reach out.
You can support Web Weekly on Patreon or GitHub Sponsors. We're currently at 40 supporters, and I'd love to hit the magical 50. β€οΈ
And if you enjoy Web Weekly, share it with your friends and family.
A quick "repost" really helps my indie newsletter out. Thank you!
Build any web layout, with confidence.

The Layout Maestro is a written, interactive CSS course that teaches you how to think, build, and debug layouts, not just memorize properties. It covers flexbox, grid, :has(), and container queries. Use the coupon code WEBWEEKLY for $50 off.
Side note from me: I plug Ahmad's interactive blog posts from time to time, and looking at all the outstanding resources he's published over the years, I'm sure this course is more than worth it!
Something that made me smile this week
Jack learned that there are "only" 84k Firefox extensions out there and thought "Challenge accepted. I'm gonna install them all!" while documenting his journey.
YOU CAN (barely) RUN FIREFOX WITH ALL 84 THOUSAND EXTENSIONS.
Who would have guessed. π Man, I love the internet.
No code
- The unwritten laws of software engineering β "It took me embarrassingly long to learn that when production breaks and you recently deployed anything, you shouldnβt spend an hour proving your change is innocent..."
- What, then, are we paying for? β "Paying for software isnβt paying for a solution. Itβs paying for someone else to own a problem."
Analyze your font's features set

You know, I'm no font or typography nerd but occasionally I need to inspect what features are included in a font. Font features? Yes! There are variable font axes controlled via font-variation-settings or open type features controlled via font-feature-settings.
But how can you inspect a font and know what you can do with it? Well, Wakamai Fondue just hit v1.0, and it looks great!
More view transition tools and resources

After plugging Bramus' View Transition Toolkit two weeks ago, people pointed me to the "View Transition Bag". It includes plenty of resources and yes, view transition tools are included, too!
Modern features misbehaving in the shadow DOM

Granted, it's been a minute since I've used the shadow DOM with web components, but today I learned that there are quite a few issues with modern web features when crossing the boundaries.
For example, cascade layers, container queries, @scope, and @property can behave differently between light and shadow DOM.
The team behind Adobe Spectrum started documenting some common issues.
sizes=auto requires width and height

Here's a quick addition from last week's sizes=auto update. I'm still super excited about it and Eric reminds us that you need to define width and height attributes. You probably do that anyways, but I thought it'd be good to share that with you!
Smart: using fallback values to work around layer clashes

David uses cascade layers and has run into a problem. The style requirements were colliding with the defined layer order. He used a smart trick to work around clashing layers.
Side note: David also shared that !important works across layer boundaries. Can someone explain that to me?
The wonderful weird web β Train Jazz

Unfortunately, the Train Jazz doesn't work for Berlin (does it work for your city?). The site plays jazz music depending on a city's train/subway data. Is this very useful? Probably not, but I love everything about this! β€οΈ
A nifty flexbox trick

Granted, the title of this blog post is a bit misleading (container queries using break points still use... breakpoints), but I enjoyed this little flexbox snippet! π
Squashing and stretching animations

Josh published a new post, and we all know what this means. There's a new high-quality post available including lots of demos and eye candy. I must admit I've forgotten about the ability to overwrite the SVG d attribute in CSS and am still on the fence about whether that's a good idea. π
Make interfaces feel better

Granted, everything in this post is also packaged up as an AI skill, but the advice on building good-looking UIs is solid. I wasn't aware of this little outline trick at the end.
Why do some images look brighter than the rest?

Tom came out of nowhere and finally explained to me why some images on my Mac are glaring on my screen. There are chances you haven't seen what I'm talking about, but for me on my MacBook Pro using the Signal App (it must be Electron-based), sometimes I receive a photo and it almost feels like the rest of the screen is getting darker because the image is so bright. Turns out, some hardware/software combinations simply display HDR images. Wow!
Random MDN β transition-behavior

From the unlimited MDN knowledge archive...
Everybody was talking about transition-behavior a year ago. Do you use it? The CSS property allows you to finally combine property transitions including display. And the best thing, it's been on the baseline since 2024!
TIL recap β field-sizing doesn't only work for textareas

field-sizing enables textareas to automatically grow. And that's great, but do you know that it works for "normal" inputs and select boxes, too?
Find more short web development learnings in my "Today I learned" section.
New on the baseline

After including baseline updates for quite a while here, I realized I'm riding pretty much on the cutting edge. And many folks are also interested in the baseline "widely available" updates. So here we go!
Do you know that you can use image-set to serve different background images right in CSS? Now you do and image-set is "widely available" since last month! π
And I'm sorry but I can't help it and I know you're also waiting for some cutting-edge stuff: the team over at Mozilla added container style queries support to Firefox Nightly, which means it's slowly time to start looking into them. Bam!
Three valuable projects to have a look at
- thoughtfulllc/gridland β Terminal apps that run anywhere - even the browser!
- getelena/elena β A simple, tiny library for building Progressive Web Components.
- meodai/heerich β An engine for 3D voxel scenes rendered to SVG. π That one's very fancy!
A new Tiny Helper

Now, I'm not sure if it's a good idea to have complex vector graphics like the above in CSS, but hey. Temani updated his SVG to CSS tool and it now supports multiple path elements. So if you ever wanted to transform SVGs into clip-path (or the new border-shape) properties, this tool is for you!
Find more single-purpose online tools on tiny-helpers.dev.
Thought of the week
Ezhik's post really hit a nerve with me. The world is changing. Heck, our entire industry and profession might be completely turned on its head. I'm beyond scared. What puzzles me the most is that quality might become less important.
Many builders, designers, and [insert whatever digital profession you like] slowly lose the desire to create high-quality "things". Many are totally fine with generating something quickly. Done is better than perfect, right? And this approach might be alright. For many teams and companies it's always been like that. In the end, everybody can build whatever they like. It is how it is.
However, what scares me is the other side. And of course, that's not true for everybody, but does the majority out there care about a stellar product that took months to build? Do people care about a well-researched article? Does it matter if someone actually put in the work?
I know this is a downer to close this Web Weekly, but I'm honestly not sure anymore.
I'm terrified of the good enough to ship β and I'm terrified of nobody else caring.
Did you learn something from this issue?
β€οΈ If so, join 40 other Web Weekly supporters and give back with a small monthly donation on Patreon or GitHub Sponsors.
This is all, friends!
Loved this email? Hated this email? I want to hear about it!
If you think something needs improvement or something sparked some joy, reply to this email because I want to know more!
And with that, take care of yourself - mentally, physically, and emotionally.
I'll see you next week! π
Join 6.5k+ developers and