My Interop 2027 Rankings
Published 4 hours pastThe proposal period for Interop 2027 closed in late September, which means the Interop team is now in the process of working through all the proposals and ultimately deciding which will be taken on next year. Part of that process is looking at “developer signals”, which is a loose amalgamation of “State of…” survey results, feedback gathered by developer relations teams, blog posts, YouTube videos, and so on.
A relatively new tool is Jake Archibald’s ranking tool, where anyone with a Github login can add any of the ~150 proposals to a ranking list, then order them in the priority you would give them if the decision were solely yours. The results will be anonymized and shared with the Interop team.
A number of people (like Ana, Declan, Paweł, Sara, Stuart, and Tyler) have blogged about their rankings, and I love a good web standards bandwagon, so here’s my bloggery! And if you’d like to hear me talk about all this, head on over to Igalia Chats to give it a listen. And maybe even a subscribe!
First, let’s go with my Top Five, in order.
#1: JavaScript
Temporal
You might think I’m picking this one because Igalia has been a large
part of getting the standard finished and support into browsers, but I
actually ranked it first because it is it just such a huge step forward. I don’t write much JS, but even I know the Date object is
terrible. The Temporal API is so much better, it’s hard to overstate. It
understands time zones, summer times, and even historical changes like
the exact moment a given country changed time zones. I can’t find
anything else in the list that I think is more deserving of all-browser
all-out effort to implement and make interoperable.
#2:
Improve
CSS sibling-count() and sibling-index()
functions interop.
This gets my second-place ranking because it is, to me, the essence of the perfect Interop proposal. In Jake’s ranking tool, the summary for this proposal is literally “Fix remaining test failures.” The proposal itself says “These functions are shipped in all engines, but all have [WPT] failures.” That’s what Interop is for, in my opinion. The thing exists, but needs a bit more work to be truly interoperable.
#3: CSS
box-decoration-break without a vendor prefix
This proposal gets the bronze medal from me for similar reasons the previous proposal grabbed silver. In this case, we have a long-supported feature that still has a vendor prefix clinging to it. Unprefix it, already!
#4: HTML
headingoffset and headingreset
attributes
This one’s emblematic of another role Interop has taken on over the years, which is to get an up-and-coming feature interoperable from the outset. Here, the ability to use HTML attributes to shift how heading levels are treated is already behind flags in two browsers. Having the browser teams agree to all work on the same thing at the same time would help find any problems early, and get them fixed before the feature comes out from behind the flags. I’ll also admit my personal ranking of this is a little bit influenced by the fact that it would help me fix problems on this very web site — indeed, in this very blog post — but it would help a lot of others as well, such as Github.
#5: CSS
line-clamp property and CSS
margin-trim
Okay, I cheated a little here by combining two proposals for this article. In my actual ranking in Jake’s tool, I ranked them #5 and #6, because I think if you’re going to clamp lines, you’re probably also going to want to trim margins. I like the capabilities line-clamping enables (and I’d think that even if Igalia weren’t one of the drivers of its implementation), and I imagine that if you’re limiting an element’s height to a certain number of lines of text, you’re probably trying to make things on the page adhere to a vertical rhythm and you don’t want inner margins possibly messing things up. Maybe I’m off base conflating the two, but it feels right to me.
So there you go, that’s my top five or six rankings. I ended up ranking twenty proposals in all, triggering a friendly “whoooa there, big fella” warning from the ranking tool. Here are the rest of what I put on the list, grouped by high-level area and then sub-sorted in roughly alphabetical order, with exceptions to group like topics together:
- Trusted Types — Support is already pretty good, but there are gaps, and this helps a lot with security.
- DOM
moveBefore()— I ran into the lack of this when I was messing around with HTML-in-canvas. I’d love to see it cross-browser. - DOM Viewport Segments API — This seems useful, given the existence of devices like Galaxy Fold and iPhone Duo.
- Improve interoperability of the WebCodecs API — Browser use this, services use this, interoperability is sub-standard. Let’s fix it.
- CSS anchor positioning with transforms and animations — animating anchor positioning seems like a thing people will want to do, so let’s make sure browsers are consistent about it.
- CSS color gamut mapping — It turns out that the visual appearance of color varies greatly depending on a thousand factors, and gamut mapping would help resolve at least some of them.
- CSS
corner-shapeproperty — It’s been too hard for too long to create scalloped, beveled, and other not-ovoid corners. - CSS
polygon()vertex rounding — I’d love to be able to round the corners of a polygon, rather than have to construct an arc path or even ashape()value. This is of a piece withcorner-shape, in my view. - CSS
border-shapeproperty — And while we’re at it, how about we make it easier to shape the whole of the border area? - CSS gap
decorations — Ever since we got Grid layout, I’ve wanted to be able
to draw decorations into the gaps, similar to
column-rulein CSS Multicolumn. Doing it now requires essentially spacer-GIF hackery, and I’d rather not have to do that. - CSS grid lanes (masonry) — Masonry (or waterfall) layouts are surprisingly common, and being able to do it in CSS is finally coming, so let’s make sure it’s interoperable.
- CSS linked parameters — You know that thing where you can’t have your page’s CSS change the stroke or fill colors of an external SVG? This would fix that. Put it in my vein!
- CSS
transitioning/animating
displayandcontent-visibility— The desire to transition from and todisplay: nonehas existed for about as long as CSS transitions have existed, and I’d love to see it interoperable so people can use it comfortably. - CSS
var()in size container queries — If wanting to say@container (width<= var(--min-width))has kept you using a CSS preprocessor, this would free you.
That’s where I ended. There were a few I didn’t rank because I’m pretty confident they’re already going to get strong ranking support. There were a few I wanted to rank, but couldn’t in good conscience because they had no standard, no evidence of browser interest, or neither of those. And in all honesty, there were some that didn’t get on my list because I think they’re bad or terribly formed ideas.
How about you — what are your favorites? Go rank them, blog them, and spread the word however you can.





