Philip Jägenstedt

@foolip.org

Long live the web! Engineer on Google Chrome, ex-Opera.

☄️ Today’s unpopular opinion 😅 What if we could set defaults for HTML attributes via CSS? ARIA, (pre)loading hints, tabindex, popover, inert, etc No new CAS language or text/cas MIME type. Just CSS properties, added as needed. Separate state, no cycles. What stops us? Theoretical purity. [1/4]

Lea Verou, PhD@lea.verou.me · 3w ago

At this point, I'd go for pragmatism and paving the cowpaths over theoretical purity: instead of a whole new lang, declare that CSS is no longer just for styling and add properties as use cases come up, then handle as separate state (like existing interactions with presentational HTML attributes).

I would give anything for HTML includes 😭 I help non-tech people build websites at our local IndieWebClub. They don't have any trouble learning a bit of HTML and CSS, but having to set up SSGs just to get common navigation/footers/etc. really stumps them.

The <select> element has been tough to style for decades. appearance: base-select changes that. We'll walk you through full CSS control, rich HTML options, and keeping it accessible — all while leveraging the power of the native element.

Rediscover the HTML select element - WWDC26 - Videos - Apple Developer

Learn how to unlock full control of styling select menus on the web. The HTML select element is getting a major upgrade with a new CSS...

developer.apple.com

"This is unusually coherent" – ChatGPT, asked to review a brand identity definition 😂 I'm so used to chatbot flattery and bs I never expected an underhanded compliment like this. I think I want more of this grumpy style.

It also goes to show that perhaps chromium was right to forge the path on these APIs, well established technologies brought to the web in a safe way. It may have taken years but there's now a solid second implementation and a path to a standards venue.

Can't emphasise how much I feel these are exactly the sort of use cases and users the web was made for: "hobbyists, hackers, educators, makers and developers"! Not everything has to be about corporate bottom lines sometimes the web can just be for fun tinkering (but also lots of real world use too)!

Firefox for Web Developers@webdevs.firefox.com · 3mo ago

Web Serial landed in Firefox 151! Here's how it works, and what you can do with it: hacks.mozilla.org/2026/05/web-...

💥 Game changer for Web Development announced at GoogleIO- Modern Web Guidance! It’s expert-vetted skills for web development based on best practices of latest specs and APIs. It ensures your agent/coding harness doesn’t default to older and out of date patterns to build sites.

So here's an interesting little thing or 2 @nomster.bsky.social , @foolip.org , and myself have been cooking up—along with lots of help from others!: developer.chrome.com/blog/declara... This could lead to some VERY interesting changes in how we write web pages. Would love to hear your thoughts!

Declarative partial updates  |  Blog  |  Chrome for Developers

Learn about new out-of-order streaming capabilities and the renewed HTML insertion and streaming methods available for testing from Chrome 148

developer.chrome.com

For a birthday party RSVP site that doesn't need JS to use but has a bunch of fun enhancements that use JS, is Astro or Enhance or something else my best bet? I'd like to take the opportunity to learn something new.

A great analysis! The punch lines: "The trend is clear: for every 100 milliseconds slower a store loads, conversion tends to be about 3.5% lower." "For every 32 milliseconds slower a store responds to interactions, conversion tends to drop by about 1.5%."

Chart with caption: Stores with faster LCP consistently show higher conversion rates. Even when controlling for other performance factors, the relationship remains strong.
Mateusz Krzeszowiak@krzksz.bsky.social · 3mo ago

One of the most important pieces about web performance that I've ever worked on is finally live. After a few months of work, my analysis of the correlation between site speed and conversion across the entire @Shopify platform is out: www.shopify.com/enterprise/b...