Why Safari is Not Behind
By Kristian Snyder
Last Updated 31 January 2019
Edit: as some clarification, the idea of a “web standard” is nebulous.
Even Level 3 CSS Selectors
element:nth-child) got standardized in November 2018 while
being widely used and almost assumed as existing and most of the below features
are implemented by the WebKit/Apple team in Safari now.
While Safari is (sometimes much) later to the party than other browsers, with Chrome usually the fastest to implementation, they usually implement features a year after the Working Group is formed, when it looks like the ideas are beginning to be nailed down.
My concern is that, when people refer to “web standards,” they overwhelmingly mean “whatever Chrome does” without even realizing it because they never use anything else. This speaks to a dangerous hegemony of Chrome that will, in the long run, hurt the idea of the web as a free place and, instead, be a world of only “this site works in Chrome.”
Original post continues below.
Here’s all the things they complained about:
- No WebRTC
- Service Workers not implemented (as of this post, Safari has some implementation of it)
- No WebM/VP8 support
- No WebAssembly or asm.js (Safari has WASM, not asm.js)
- No MediaRecorder
And in the first comment, they complain about Safari “not implementing standards.”
In 2016, none of the above points were standardized. Not almost none, but none. Today? Still none.
All of these (except WebM, which is just a media format) are at the level of Working Draft or Editor’s Draft. No working draft is part of the W3C web standard. They are for review by the community, which seems obvious with the name working draft.
The Chrome Problem
However, if you search caniuse.com (a great resource for determining what web features are supported by what browsers), you’ll notice that almost all of them are completely supported by Chrome (and usually Firefox) while not in the W3C specification. In fact, most of the hot web features in use today are not in the spec; even Flexbox is just a Candidate Recommendation!
What this means is a lot of web developers are depending on features that are not only still being revised, but aren’t implemented by anyone but Chrome. This is a dangerous trend that has only been getting worse because both people above assumed that, despite the contrary, Chrome is the spec. And for lots of people, it is! Not many people test in Firefox anymore, let alone Safari.
If we’re going to complain continually about having to implement workarounds for Safari, Firefox, and Edge1, we must at least be honest that it isn’t about standards. It’s about not doing exactly the same things as Chrome, even if what Chrome implements is still years away from being defined.