Tobias Fedder

Tobias Fedder

@tfedder.de

photography hobbyist and web dev always learning about the web blogging on https://tfedder.de/blog/

170 followers355 following679 posts

Looking at the reading-flow property among the Interop proposals, I’m not sure what to think about it. Is it a new feature? Or is it a fix for flexbox and grid, to solve some of the a11y issues of their layout capabilities? Or is that too harsh? Is it about unlocking flexbox’s and grid’s potential?

Last day at the office, packing up my stuff. I will miss the whiteboard quote, as well as the a11y poster peeking over my shoulder in video calls. And the cafeteria. 😢 Starting next month: new org, new processes, new workplace, but same tasks, same employer, same team 😊 (mostly). It's complicated.

I know I should be angry about the "largest theft of labor in human history", other anti-social tech, blocking client-side rendering, and shit. But what about my fellow web devs getting excited to optimize their sites for the newest gadget from the "you have to install an app for that" corp?

Tobias Fedder reposted

Replying to @miriam.codes

If you want to claim technology is neutral and what matters is how we use it… this is it. This is the "how we use it" part. These are brand name products built by companies, so ~5 of the worst men on Sir Tim's world wide public domain web can sell our own Redit posts back to us for profit.

Tobias Fedder reposted

It's also anti-privacy to bounce folks to native apps and app stores filled with invasive, proprietary, unauditable technology.

Alex Russell@infrequently.org

Jeremy's whole post is worth a read, and I would underline + bold the last point: the web is the superior choice for privacy and security, and it's anti-web *and anti-user* to be preferencing native app install affordances: adactio.com/journal/22757

I had to ssh into my server this morning to get my NextcloudAIO instance up again. Many container images needed updating. Now, the interesting question is: Did I jinx it, or is five months too long a period for me to have been able to jinx it? bsky.app/profile/tfed...

Tobias Fedder@tfedder.de

I don’t want to jinx it, but I haven’t had a single issue with automatic updates for three years — and it is Nextcloud, after all.

Imagine a world where every business is owned by all its workers, and only its workers. Does that sound like socialism to you? Then please tell me how that's not capitalism. Does that sound like capitalism to you? Then please tell me how that's not socialism.

Regarding Interop 2027, I was thinking about writing a proposal for `text-wrap-style:balance`. I had some issues with it in the past when adding line breaks. There are a few failing web-platform-tests left. But now that I’m playing with it to remember what’s so broken about it…

Making some fixes to a modeless dialog. Me: Please NVDA, read it to me. NVDA: Sure thing, let me read the whole thing twice. Me: Oh, my bad, fixed it. Only heading and focussed button, please. NVDA: I see, I’ll announce heading and button, twice.

Tobias Fedder reposted

Cannot stress enough how little a brand must think of you to interrupt browsing to push a native app in the Year of Our Lord 2026. Embarrassing.

Tobias Fedder reposted

It's really weird that the response to JPEG XL shipping is "yesss fuck WebP!" Like, we've had AVIF for years, and it outperforms JPEG XL in almost all web use-cases.

Element render delay – 16% of time to LCP 😎 …🤨 Time to first byte – 84% of time to LCP 😱 … …🤔 🤷

Zach Leatherman@zachleat.com

A little sneak peek at some very big updates to `speedlify` (just kidding they’re live): www.speedlify.dev Decoupled measure step from rank so that it runs continuously & incrementally. Ranks sites on CWV field data and Axe violations. This is the new home for the @11ty.dev Leaderboards.

Tobias Fedder reposted

Replying to @collinsworth.dev

Sure sure, but counter point: an exact number of users (us) are users exactly like us. :) So keep that in mind too. And the users on your site might be different from the users on my site. There's no universal user, and they aren't entirely not me.

I get that Iterator.prototype.createWrapperThatIfExhaustedEarlyMayKillTheGeneratorButLeavesIteratorsFromIterablesLiveExhaustAfter() would have been too long. But why is it called Iterator.prototype.take() ? _take()_ ???

I just noticed that Firefox splits ligatures in cases of conditional hyphenation (hyphens:auto; , ­ ). My brain: look at me and my eye for detail! Checking Bugzilla: already reported 17 (SEVENTEEN) years ago. I noticed it TODAY. My eye for detail, lol.

I just want to remind everybody that "storing" personal data is one form of "processing" personal data under GDPR. see GDPR Art. 4 (2) Erasure is another one. Fun.

Tobias Fedder reposted

This is great and highlights one of the most common mistakes developers make since became easier to server render framework sites - rendering buttons etc before the JS has loaded to make them work.

rem / Remy Sharp @remysharp.com

I wrote this after travelling by train (after a long time of not really travelling anywhere): Progressive Enhancement inside of JavaScript remysharp.com/2026/08/05/p... Nothing new, just nice to see it up close.

Working with CSS Grid (including Subgrid) I sometimes wish I could toggle gap-collapse for empty rows or columns. Nothing made it in here, one gap is fine, thank you. I am sure there would be horrible consequences for layout and comprehension (see margin collapse).

Based on the first module of the course, I am confident that the full course will be worth the full price. But if you‘ll buy it anyway, why not get it for less now? bsky.app/profile/miri...

Today is the last day to get early bird pricing for the Poetic CSS course! Learn to write & review CSS with confidence. The first module is live, with more coming through the summer & fall. Get the full course as it's ready, without waiting to pay full price: courses.oddbird.net/poetic-css/ #CSS

Would someone be kind enough to tell me what the result of this code is in Safari? ```html <style> [hidden].unhide { display: revert; } </style> <h1 hidden class="unhide">Hidden?</h1> ``` Is the myth of "Separation of Concerns" in HTML, CSS, and JS, dead yet?

Turns out you can just save the glowing testimonials for after you buy the course. Truly a no-brainer.

Poetic CSS course is live for early-bird registration! Only available during July. Thanks for your patience, we had some last-minute fixes. #css courses.oddbird.net/poetic-css/

Tobias Fedder reposted

Is the placement algorithm for grid lanes "wrong"? Is the auto-placement cursor helping or hurting the algorithm? drafts.csswg.org/css-grid-3/#... bsky.app/profile/matu...

drafts.csswg.orgCSS Grid Layout Module Level 3

I saw a great introduction to CSS Grid Lanes, aka Masonry Layouts, by @patrickbrosset.com at CSS Day 2026. I liked the versatility of its use cases, but I was also concerned that it's inaccessible by default. matuzo.at/blog/2026/gr...

Is the placement algorithm for grid lanes "wrong"? Is the auto-placement cursor helping or hurting the algorithm? drafts.csswg.org/css-grid-3/#... bsky.app/profile/matu...

drafts.csswg.orgCSS Grid Layout Module Level 3

I saw a great introduction to CSS Grid Lanes, aka Masonry Layouts, by @patrickbrosset.com at CSS Day 2026. I liked the versatility of its use cases, but I was also concerned that it's inaccessible by default. matuzo.at/blog/2026/gr...

Tobias Fedder reposted

Pro tip: don't enable experimental features in the browser/profile you use for surfing. Use a dedicated browser/profile for that. It will save you from a lot of confusion.