Published at
Updated at
Reading time
9min
The Web Weekly newsletter keeps you up to date, teaches you web development tricks and covers all things working in tech.

Guten Tag! Guten Tag! πŸ‘‹

Should you use JavaScript's logical assignment operators? Have you heard of the user activation API? And did your websites get a nice speed improvement thanks to speculation rules?

Turn on the Web Weekly tune and find some answers below. Enjoy!

Øystein listens to Ulrich Schnauss - Goodbye

Lush and dreamy beat-driven electronica from my newest musical discovery - perfect for late night contemplation.

Do you want to share your favorite song with the Web Weekly community? Hit reply; there are three more songs left in the queue.

State of HTML 2025

This year's state of HTML survey is open until August 15 and you should really take the time to fill it out. Why?

First, browser vendors really do look at the results and even if it's just a tiny thing, if you're unhappy about a web feature, you're probably not alone. And the stronger the signals are the higher the chance that something will change.

However, more importantly, you'll learn something new if you fill out the survey! It's a perfect way to discover old and new HTML features.

Here are my discoveries on Bluesky and three things you might not have heard of yet.

input.showPicker() β€” Programmatically open the picker of form controls that have one (color pickers, date inputs etc).

showPicker() will allow us to open input and form controls from within JavaScript. I can see this being handy for custom controls.

The sizes="auto" attribute reserves layout space for an image before it loads, avoiding some layout shifts.

sizes="auto" will make responsive images so much easier because we can tell the browser to pick the best image without defining a complicated sizes attribute. Images need to be lazy loaded, though. I blogged about sizes="auto" a while ago if you want to learn more!

Web Share API β€” Exposes a mechanism for sharing content to various user-selected targets.

This one puzzled me. navigator.share() still doesn't work in all browsers? That's kinda wild, isn't it?

Anyway, I hope you see that filling out the survey is worth it. Now go and have fun (and learn about something new)!

If you enjoy Web Weekly, share it with your friends and family.

A quick "repost" really helps this indie newsletter out. Thank you! ❀️

Before getting into all these web dev resources I want to give a shoutout to Eric and Alex!

Newsletters that regularly hit my inbox these days

Eric included Web Weekly in Newsletters that regularly hit my inbox these days and if you're not following his blog via RSS, you totally should!

Links, Resources, and Humans of Note

If you can't get enough of all this web dev writing, Alex shared a massive list of bloggers worth following. As someone following Alex's work for many many years I'm humbled to be included in the list.

Blogroll β€” Inspirational RSS feeds I'm subscribed to

And, of course, I maintain my own list, too. Check out the blog roll for even more words from the community.

Something that made me smile this week

Paragraphs with different ::selection colors

I noticed that my site doesn't include proper ::selection styles and remembered that Chris shared a little "rainbow trick". Selected text is now rendered in different colors and I don't know why but this make me very happy.

Select a rainbow

No code

Logical assignment operators

user.theme ||= 'light';

Here's a quick reminder that logical JavaScript assignment operators (||=, &&= and ??=) are a thing these days. I'm still on the fence if I should start using them because my brain refuses to understand what I'm looking at, but maybe you're having an easier time with them.

Use the fancy syntax

A wobbly SVG filter effect

Fruits and vegetables with a wiggle comic effect

Camillo shared how to create this wiggly SVG filter effect. I'm not sure I'll ever use it but I love everything about it!

Use SVG filters

Speaking of SVGs...

An interactive tool controlling the numbers of an SVG polygon.

John published yet another deep dive. This time, it's all about SVGs. And if you now think "well, yeah... it's probably all the beginner stuff", you're absolutely right.

Still, I learned quite a few new SVG details from it. And I'm sure you will, too! And even if you don't, just playing with the interactive demos is very satisfying. Don't forget to turn on sound!

Hear the examples

TIL about stacked CSS transforms

.thing {   transform: translateX(50px) rotate(20deg) translateX(50px); }

Do you know that you can use the same transform functions (translate(), rotate(), etc.) in a single transform declaration? Chris shares when you want to do it and sneakily explains the animation-composition property on the way, too.

Stack it!

You're halfway through!

Wowza! Would you enjoy getting Web Weekly straight to your inbox?

The wonderful weird web – The background washing saloon

A washing saloon with a blog character jumping out of a washing machine.

It might not be the most efficient way to remove the background from photos, but I promise this site offers the most satisfying one.

Clean your images

The anatomy of a web component

JavaScript class defining a custom element

David shared lots of web component tips and tricks and this rather lengthy post is definitely worth a read! I still have to learn and understand when to use ElementInternals, but I'll leave this for another time.

Use native components

JavaScript DOs and DON'Ts

I am disappointed that our once open and low barrier entry to web development was raised so unnecessarily and arbitrarily high that we don't even know exactly what we are serving to users.

Do you remember the times when Frontend development didn't require megabytes of JavaScript, endlessly running build processes and code you could debug easily in the browser... Yeah, here's a quick manual sharing when you should reach for JavaScript in the first place.

Consider a simpler web

This post reminded me of the absolute classic "Everyone has JS, right? which you should check out if you don't know about it.

Many ways to solve a CSS issue

Layout example showing a "figcaption" creating overflow.

Jeff had a figure element and wanted to size the figcaption depending on the included image's height. Sounds straightforward, right?

After discussing the problem with the web dev community, Jeff shared all possible solutions ranging from display: table-caption; (Yikes!), max-width: min-content;, and even contain: inline-size;.

Fix the problem

The aria-label translation problem

aria-label does not translate

Suppose you're using aria-label to provide accessible names, you should be aware of one problem. In-browser translation tools won't translate the attribute values. This behavior makes content inaccessible.

Adrian keeps track of the problem for over five years now and just added the current state of affairs.

Be aware

Random MDN – Speculation rules

Speculation rules code block

From the unlimited MDN knowledge archive...

Speculation rules are shipping in Chromium for a while. Suppose, you're looking for a quick way to speed up cross-page navigations, you should check them out!

Prefetch!

Let's talk about Polypane

Let's talk about Polypane

I've been using the Polypane web browser for almost two years now and always knew that I'm not using it the "right" way. I surely figured out how to use it for responsive design testing, but there's much more!

I jumped on a call with Kilian and he showed me lots of pro tips!

Use Polypane

New'ish on the baseline

if (navigator.userActivation.isActive) {   // proceed to request playing media, for example }

Have you heard of the User Activation API? There are certain actions and JavaScript methods (navigator.clipboard.read(), video.requestFullscreen(), input.showPicker()) that only work when the user is or has been active. You can learn more about the User Activation API on MDN and this post on the Webkit blog is also quite good.

Three valuable projects to have a look at

A new Tiny Helper

Oh, oh, oh! Tiny Helpers is running low on new contributions. If you know of any small web development utilities that aren't included on Tiny Helpers yet, send them my way!

Find more single-purpose online tools on tiny-helpers.dev.

Thought of the week

It's hard to ignore the current AI agent hype (I'm honestly a bit anxious about it), but Simon aka "Mr. LLM" says that skills will still matter. Let's hope he's correct with this one, right?

Without the skilled individual, the "agent" is useless. It may as well not exist.

Web Weekly is free but it ain't cheap...

Web Weekly usually takes me an entire day to write (and research). If you want to receive some karma points and support this indie newsletter, join 24 other Web Weekly supporters and give back with a small monthly donation on Patreon or GitHub Sponsors. It would really mean the world to me! ❀️

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! πŸ‘‹

If you enjoyed this article...

Join 6.1k readers and learn something new every week with Web Weekly.

Web Weekly β€” Your friendly Web Dev newsletter
Reply to this post and share your thoughts via good old email.
Stefan standing in the park in front of a green background

About Stefan Judis

Frontend nerd with over ten years of experience, freelance dev, "Today I Learned" blogger, conference speaker, and Open Source maintainer.

Related Topics

Related Articles