Codú
Avatar for Stefan Judis

Stefan Judis

@stefan-judis

Joined January 2026www.stefanjudis.com
32
Posts
ArticleStefan Judis@stefan-judis · May 22 · 9 min

Web Weekly #193 (#blogPost)

Guten Tag! Guten Tag! 👋 Have you heard of BEMoji? Do you know what a CloseWatcher is for? And how confidently do you use aria-label? Turn on the Web Weekly tune and find some answers below. Enjoy! ::: song by="Mike" title="Dandy Livingstone - Suzanne Beware of the Devil" youtube="Z1oKcitiKKU" I've...

0
0 replies
ArticleStefan Judis@stefan-judis · May 17 · 6 min

Web Weekly #192 (#blogPost)

Guten Tag! Guten Tag! 👋 Have you heard of the new HTML element? Do you use round() in your CSS? And do you cancel requests with AbortSignal.timeout? Turn on the Web Weekly tune and find some answers below. Enjoy! Steven listens to Humanity's Last Breath - Godhood and says: Truly heavy music doesn’t...

0
0 replies
ArticleStefan Judis@stefan-judis · May 10 · 7 min

Web Weekly #191 (#blogPost)

Guten Tag! Guten Tag! 👋 Have you heard that the new Git version makes rewriting history easier? Did you ever combine multiple CSS keyframe animations? And have you played with the new HTML in canvas API yet? Turn on the Web Weekly tune and find some answers below. Enjoy! Paweł listens to Hird - Kee...

0
0 replies
ArticleStefan Judis@stefan-judis · Apr 19 · 9 min

Web Weekly #190 (#blogPost)

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 — "Ill...

0
0 replies
ArticleStefan Judis@stefan-judis · Apr 12 · 7 min

Web Weekly #189 (#blogPost)

Guten Tag! Guten Tag! 👋 Are you excited about sizes="auto" landing in browsers? Did you ever run into issues with the bfcache and didn't know what to do? Or are you looking for a native way to lazy load videos? Turn on the Web Weekly tune and find some answers below. Enjoy! Boris listens to Wheatus...

0
0 replies
ArticleStefan Judis@stefan-judis · Apr 5 · 6 min

Web Weekly #188 (#blogPost)

Guten Tag! Guten Tag! 👋 Have you heard about the CSS sticky spec change? Or have you used the position-visibility property before? And are you aware of the new JavaScript features landing in 2026? Turn on the Web Weekly tune and find some answers below. Enjoy! Mark listens to "Jet Black" by Fletchr...

0
0 replies
ArticleStefan Judis@stefan-judis · Apr 5 · 3 min

Intl can localize units, too! (#tilPost)

Today I learned that Intl allows you to format numbers with currencies or units! console.log( new Intl.NumberFormat("de-DE", { style: "currency", currency: "EUR" }).format(123456789), ); // "123.456.789,00 €" console.log( new Intl.NumberFormat("ja-JP", { style: "currency", currency: "JPY" }).format(...

0
0 replies
ArticleStefan Judis@stefan-judis · Apr 3 · 4 min

The scope of type guards and assertion functions (#tilPost)

I've just read Absorbing unknown Into the Type Realm. It's a good read, check it out. However I also learned an important difference between TypeScript type guards and assertion functions. And to be fair, I didn't even know assertion functions were a thing in TypeScript. Let's look at a standard typ...

0
0 replies
ArticleStefan Judis@stefan-judis · Mar 16 · 6 min

Web Weekly #187 (#blogPost)

Guten Tag! Guten Tag! 👋 Have you heard of focusgroup? Did you try aliases in Node.js imports already? Or do you know that CSS is available in JavaScript? Turn on the Web Weekly tune and find some answers below. Enjoy! Mario listens to "Ethel Cain - Waco, Texas" and says: This is my kind of opera. D...

0
0 replies
ArticleStefan Judis@stefan-judis · Mar 9 · 6 min

Web Weekly #186 (#blogPost)

Guten Tag! Guten Tag! 👋 Are you struggling to understand why your anchor positioning doesn't work? Did you know that there's a window.stop() method? And did you ever wonder how to apply a theme color to Safari? Turn on the Web Weekly tune and find some answers below. Enjoy! I am listening to "KRAFT...

0
0 replies
ArticleStefan Judis@stefan-judis · Mar 2 · 3 min

New lines are removed from WHATWG URLs (#tilPost)

Today I learned something groundbreaking about URLs! You know that when you're templating HTML and you're dealing with attribute values, it might make sense to break things into pieces. I like to have one attribute per line and sometimes even break the attribute values into multiple lines. Long URLs...

0
0 replies
ArticleStefan Judis@stefan-judis · Mar 2 · 6 min

Web Weekly #185 (#blogPost)

Guten Tag! Guten Tag! 👋 Have you heard of Chrome's soft navigations? Do you parse the sec-fetch header to prevent CSRF? Or do you know that elements with overflow: hidden are still scrollable? Turn on the Web Weekly tune and find some answers below. Enjoy! Pablo listens to ROSALÍA - Berghain and sa...

0
0 replies
ArticleStefan Judis@stefan-judis · Feb 23 · 5 min

Nobody owes you anything (#blogPost)

If you follow this blog for a while, you might know that I focus on tech topics and try to be very rational and neutral in my writing. I usually am too afraid of "pissing off". Maybe, it's the current state of the world or that I'm just getting older, but certain things just get to me and I want to...

0
0 replies
ArticleStefan Judis@stefan-judis · Feb 23 · 6 min

Web Weekly #184 (#blogPost)

Guten Tag! Guten Tag! 👋 Have you ever struggled with lazy loading videos? Or have you used CSS zoom before? And do you know what Map.getOrInsertComputed does? Turn on the Web Weekly tune and find some answers below. Enjoy! André listens to "Ordinary" by Alex Warren and says: This is genuinely one o...

0
0 replies
ArticleStefan Judis@stefan-judis · Feb 23 · 3 min

How to scale elements and their layout with CSS "zoom" (#tilPost)

You probably know that you can use the scale function scale() or even just scale property to transform and change an element's size. The thing with scale is that it only changes visual appearance and the layout size of the target element remains the same. Today I learned there's also the zoom proper...

0
0 replies
ArticleStefan Judis@stefan-judis · Feb 18 · 5 min

Notes on relying on the ARIA Authoring Practices Guide (#note)

Eric wrote about how to instruct an LLM to fetch the "valuable stuff" from the ARIA Authoring Practices Guide (APG). The article includes some points about APG itself that are worth highlighting. And what's the valuable stuff? If you don't know the Authoring Practice Guide, here's what you'll see af...

0
0 replies
ArticleStefan Judis@stefan-judis · Feb 16 · 8 min

Web Weekly #183 (#blogPost)

Guten Tag! Guten Tag! 👋 Have you checked what's included in Interop 2026? Do you know about the using declaration in JavaScript? And are you excited about the new ways to style select elements? Turn on the Web Weekly tune and find some answers below. Enjoy! Paweł listens to "Tarika Blue - Topic" an...

0
0 replies
ArticleStefan Judis@stefan-judis · Feb 1 · 8 min

Web Weekly #182 (#blogPost)

Guten Tag! Guten Tag! 👋 Have you had a look at the new Navigation API (baseline newly available) already? Do you know about the formmethod and formaction HTML attributes? And are you as excited about custom invoker commands as I am? Turn on the Web Weekly tune and find some answers below. Enjoy! Mi...

0
0 replies
ArticleStefan Judis@stefan-judis · Jan 18 · 7 min

Web Weekly #181 (#blogPost)

Guten Tag! Guten Tag! 👋 Will you use Chrome's new HTML element? Are you excited about CSS anchor positioning going baseline? And do you know what a self-closing really does? Turn on the Web Weekly tune and find some answers below. Enjoy! Olivier listens to "Shelf Lives - Where Did I Go?" and says:...

0
0 replies
ArticleStefan Judis@stefan-judis · Jan 12 · 4 min

ARIA roles can remove their children’s semantics (#tilPost)

I've learned something new about ARIA today! You probably know the first rule of ARIA: If you can use a native HTML element or attribute with the semantics and behavior you require already built in, instead of repurposing an element and adding an ARIA role, state, or property to make it accessible,...

0
0 replies
ArticleStefan Judis@stefan-judis · Jan 12 · 7 min

Web Weekly #180 (#blogPost)

Guten Tag! Guten Tag! 👋 Do you use iterator helpers in JavaScript? Have you heard of scroll-triggered CSS animations? Are you excited about Temporal? Turn on the Web Weekly tune and find some answers below. Enjoy! Paweł listens to "Mtume - Juicy Fruit" and says: Everyone has heard "Juicy" by The No...

0
0 replies
ArticleStefan Judis@stefan-judis · Jan 12 · 3 min

Clean up your Mac with open source (#note)

My Mac was running out of disk space the other day, and because I wasn't in the mood to hunt for custom solutions, I reached for Clean My Mac. It's a nice tool, and I knew it would do the job just fine. It freed up 60GB in about twenty minutes. Nice! Cleaning up disk space without any hassle was wor...

0
0 replies
ArticleStefan Judis@stefan-judis · Jan 11 · 3 min

The Trust Equation (#note)

How do you know that you can trust someone? I struggle to answer this question objectively because trust feels like such a subjective matter. Some people just don't "sit right with me," and that's okay. I also can't expect that I'm trusted and liked by everyone. That's okay, too. But why is it so ha...

0
0 replies
ArticleStefan Judis@stefan-judis · Jan 9 · 2 min

Firefox DevTools hide unreferenced CSS variables (#note)

Here's a quick and handy addition to the Firefox DevTools. Whenever you debug CSS that's full of CSS variables, it becomes annoyingly hard to parse everything going on in the DevTools because the custom properties are cluttering :root or * or whatever. Firefox 145 (released Nov 11, 2025) now added a...

0
0 replies
ArticleStefan Judis@stefan-judis · Jan 6 · 3 min

If you don't care, I don't care... (#note)

Jim is, as always, on point. My desire to give you constructive feedback is in direct correlation to your effort to care — about your communications, about what you ship, even about what you don't ship. Shipping something unfinished, half-assed or broken to "gather feedback" just won't do any good....

0
0 replies
ArticleStefan Judis@stefan-judis · Jan 5 · 9 min

Web Weekly #179 (#blogPost)

Frohes Neues! 👋 Do you wonder what the final masonry CSS syntax will look like? Do you use the dialog element to its fullest potential? And are you excited about CSS @scope entering baseline? Turn on the Web Weekly tune and find some answers below. Enjoy! Mohamed listens to LAW NASYANY and says: I...

0
0 replies
ArticleStefan Judis@stefan-judis · Jan 5 · 3 min

Automatically load .env files in Node.js scripts (#tilPost)

Node.js continues to follow the lead of competing runtimes and implements more and more userland features. Loading .env files was one of these features that's been solved in userland (dotenv has 46m weekly downloads) since I started writing Node.js code almost 15 years ago. Today I learned that Node...

0
0 replies
ArticleStefan Judis@stefan-judis · Jan 2 · 3 min

A ready-to-use diff component (#note)

I just stumbled over this package: @pierre/diffs. @pierre/diffs is an open source diff and code rendering library. It's built on Shiki for syntax highlighting and theming, is super customizable, and comes packed with features. The package just hit v1 and seems to be pretty new. The docs live on diff...

0
0 replies
ArticleStefan Judis@stefan-judis · Dec 22 · 4 min

Feature detection of View Transition Types (#snippet)

I've been working on the new Web Weekly website and implemented the fairly new View Transition Types to trigger different view transitions depending on specific actions. I discovered that the usual feature detection doesn't work. Let's dive in! View Transitions support is still fairly new across bro...

0
0 replies
ArticleStefan Judis@stefan-judis · Dec 18 · 4 min

Simon Willison on delivering AI generated code (#note)

Simon Willison published "Your job is to deliver code you have proven to work". It frustrates me that the developer community is at a point in which posts like this need to be written, but let me share some highlights. [Coworkers submitting huge untested PRs is] a dereliction of duty as a software d...

0
0 replies
ArticleStefan Judis@stefan-judis · Dec 7 · 10 min

Web Weekly #178 (#blogPost)

Guten Tag! Guten Tag! 👋 Do you preload your responsive images? Have you heard of the new text-grow CSS property? And do you know that the strong HTML element isn't really announced by screen readers? Turn on the Web Weekly tune and find some answers below. Enjoy! Paweł listens to "Nightmares On Wax...

0
0 replies
Learn to build with AI and grow with people doing the same — it's free.