About to present “CSS Parser Extensions” at the CSS Working Group F2F meeting.

It’s a wild idea I have to fix CSS polyfilling once and for all. My goal is to seek interest from the WG so that we can explore this further.

I also pitched this at #BlinkOn earlier this year.

https://www.bram.us/2025/05/04/css-parser-extensions-pitch/

Polyfilling CSS with CSS Parser Extensions

In April I attended #BlinkOn, the conference for web platform contributors in the Chromium open source project. At the conference I gave a presentation about “CSS Parser Extensions”, a wild idea I have to fix CSS polyfilling once and for all. If you didn’t know, polyfilling CSS features is extremely hard, mainly because the CSS Parser discards what it does not understand. So what if, instead of having authors write their own parser and cascade to polyfill a CSS feature, they could teach the parser some new tricks?

Bram.us

I’m at #BlinkOn. I gave a presentation about CSS Parser Extensions, a wild idea I have to fix CSS polyfilling once and for all.

Slides: https://slidr.io/bramus/css-parser-extensions

(Personal idea, nothing official about this)

CSS Parser Extensions by Bramus

A common type of feedback heard from authors on new CSS features is that they won’t use it because said feature does not have cross-browser support. This feedback is heard for all sorts of features, including those that can be used as a Progressive Enhancement. Within their organization there are often still expectations that websites need to look exactly the same in every browser. As a result, the adoption of new CSS features – PE-capable or not – is blocked until the feature is Baseline Widely available. Assuming an average time-to-interop of ±1.5 years, this means a CSS feature is only ready for adoption after 4 years. To aid in the adoption of new CSS features, polyfills can be created. The polyfill for container queries for example has proven its worth. However, this polyfill – like any other CSS polyfill – is not perfect and comes with limitations because polyfilling CSS features comes with a lot of challenges and pitfalls. Above that, ±65% of the code is dedicated to purely parsing the CSS file and extracting the necessary information (property values and container at-rules) from it. CSS Parser Extensions aims to remove these limitations and to ease this information gathering by allowing authors to extend the CSS Parser with new syntaxes, properties, keywords, etc. for it to support. By tapping directly into the CSS parser, CSS polyfills become easier to author, have a reduced size & performance footprint, and become more robust.

slidr.io

My prerecorded lightning talk on the recent DevTools mobile device emulation improvements I did for @igalia will be part of today's second lightning talk session at #BlinkOn. Tune in at 14:35 PDT (if you registered for BlinkOn), in a little over five hours!

For everyone who didn't register there'll be a video available shortly.

It was great to see a packed room at #BlinkOn today, all there to hear about the progress on Scoped View Transitions.
On my way to #BlinkOn (and more).
Ha! @jarhar presenting about customizable select at the #blinkon breakout

Great statement at #blinkon by @cdub

"Chrome is the 4th browser I've worked on. They've all had majority market share. 2 of them don't even exist anymore. The web platform remains. It outlives browsers, engines, companies even."

Excited about getting the whole visual order thing sorted out in CSS...
(A slide from #blinkon presentation introducing blink/standards work on this problem)
Excellent point during #blinkon 19 presentation about interop: while we're happy to celebrate all we accomplished, there's a lot more to do!!!

#BlinkOn starts tomorrow! I will be doing two presentations this time.

First, a breakout session about Linux #Chromium running in low #memory devices. Can Chromium run in a 512MB device? How can Chromium better support those scenarios?

And second, a lightning talk about the work I have been involved to improve the #V8 support for native stack walking profiling.

See you at BlinkOn! cc @igalia