Why Safari is Not Behind

Edit: as some clarification, the idea of a “web standard” is nebulous. Even Level 3 CSS Selectors (things like 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.

This starts, of course, with a Hacker News comment saying Safari is the new IE. Let’s think, briefly, of some of the main complaints. Oh, look, another comment, this one from 2016!

Here’s all the things they complained about:

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.

  1. RIP