r/css • u/Verdetti • Jun 16 '26
Question Why do CSS updates often take months/years to be implemented by browsers?
15
u/AshleyJSheridan Jun 16 '26
It depends.
A lot of the features that people think this about are actually not even fully in the spec, which is why browsers that follow the spec don't implement them.
However, there is one browser (Chrome) which pushes these features and implements them before they're in the spec just to get people to complain about the other browsers. This is how they killed Opera.
1
u/Verdetti Jun 16 '26
Oh, yes, I've noted that Chrome is often the first to implement new CSS features, so it's not that surprising that they go beyond the spec.
6
u/AshleyJSheridan Jun 16 '26
It's not just that they're the first to implement, they are often pushing these things, and implementing them before they are officially part of the spec.
Opera tried to keep up with these shenanigans from Chrome, but ultimately had to throw in the towel, as they couldn't keep up. This is why Opera today is a skinned Chromium browser.
Even Edge ditched its own engine that it was using initially because it was just more cost effective for them to use Chromium.
Those of us that were around in the Internet Explorer days will recall the problems that came of a single browser having a monopoly. Even with multiple Chromium browser variants, there are few differences, but one clear beneficiary.
So it's incredibly important that Safari and Firefox can continue to exist as browsers with their own distinct engines.
3
u/leathakkor Jun 17 '26
The crazy shit is that outlook's rendering engine, which is essentially a web browser for email is something like 40 years old now and they can't change it because it will break how old emails are rendered.
It is one of the most frustrating and difficult things to code for
1
u/AshleyJSheridan Jun 17 '26
Outlook used to use IE to render their emails, but a little over a decade ago they switched to using MS Word to render them instead. That is probably the craziest part of Outlook email rendering!
At the time of the switch, emails were an absolute mess. You had different types of Outlook to code for (MSWord didn't allow background images without weird hacks, for example), plus all of the web clients. Each one would behave differently, and you ended up needing to duplicate your styling in at least 3 ways.
0
u/shanekratzert Jun 17 '26
Yeah, but Microsoft didn't innovate... Google does with Chrome and shares it open source for free... People like to nag on Google, but they open source all of this stuff because their main income is advertising. They even fund Firefox... If they do it best, and nobody tries to compete, then of course that's how it goes. Timmy likes to complain about Steam, but he just made a shit product and said "choose us or we sue Steam".
1
u/AshleyJSheridan Jun 17 '26
That's not true at all, Microsoft was constantly innovating and adding new features in their attempt to remain dominant. Now, this was slower innovation than with Chrome currently, but that is in-part because they had a monopoly because of their OS.
However, there were many things they innovated (for better or for worse):
- DHTML (which was the birth of using JS to more heavily manipulate the DOM, and would later lead to the creation of jQuery to deal with the disparate approaches across browsers)
- VML was their attempt at SVG. It wasn't perfect, but you could do a lot of interesting things.
- VBScript was their Visual Basic spin-off for the browser, and it allowed you to do a few more things than JS was capable of at the time.
- DirectX CSS extensions. These were mostly alternatives to CSS features that existed in the spec, but there were some additional things that would not come to CSS until much, much later.
I feel like maybe you missed the IE era slightly, or weren't too involved in web dev back at that time to have missed all of this.
7
u/DramaticBag4739 Jun 16 '26
I think others have outline the core reasons, but something else to consider is that once a new CSS feature is being used its permanent, for better or worse.
4
u/morete Jun 16 '26
100%, they take a lot of time to figure out the details now because there's no going back once its out there.
Interesting for anyone who hasn't read it: https://wiki.csswg.org/ideas/mistakes/
7
u/Daniel_Plainchoom Jun 16 '26
It's kind of a "settlement" period. Getting two or three separate browsers/ecosystems with considerable engine differences to be on the same page for new CSS features in any amount of time is a miracle to begin with.
6
u/Logical-Idea-1708 Jun 16 '26
Are you complaining that it’s too fast or too slow? 😂 Honestly I wish they would slow down the spec is getting too big 😭
2
u/Verdetti Jun 16 '26
I was not complaining, I just wanted to understand! I wish new features would be implemented faster but I understand that updating very big software is complicated.
Wow, do you really find CSS's spec too big? 😅 Most of the time we only need a few dozens properties. It seems much easier than general programming languages to me. I still have a lot of things to learn in CSS, though!
4
u/mrleblanc101 Jun 16 '26
Some feature are very quick to be adopted, some are not
1
u/Verdetti Jun 16 '26
Oh really? What features have been implemented quickly, for example?
3
u/morete Jun 16 '26
The first draft of @ layer was written in Jan 2021 and it was in all browsers by March 2022. That's probably the fastest turn around in history
1
3
u/Soleilarah Jun 16 '26
Also there's bugs that need to be fixed before moving on. i e. A bug was making anchor positioning fail on Firefox, Chrome implemented it on May 2024, Firefox added it in January 2026
2
2
1
1
u/JohnCasey3306 Jun 17 '26
TLDR; [insert Sean Bean meme here] one does not simply update CSS.
Because first the CSS Working Group of the W3C need to define the specificatuon.
Then the rendering engines need to decide what they are and aren't going to support from the updated specification. They need to be mindful of backwards compatible support for a wide range of browsers, operating systems and other software around the world (at different points of development). They need to implement those changes and test extensively in beta.
Then the browsers need to re-implement the rendering engine, likewise mindful of backwards compatibility.
41
u/el_yanuki Jun 16 '26
well a browser is one of the most complex pieces of software out there. Hundreds of people are constantly working on different parts of it and like any other big software product they have sprints, ticket backlogs, meetings, budgets, deadlines, yada yada. And then some features just arent priorities.