


Implemented in Firefox in 2015 and Chrome in 2017. scrollIntoView() to scroll to an item on the page.Implemented in Chrome in 2017 and Firefox in 2020. Implemented in IE 6 (!!!) in 2001, Firefox in 2011 and Chrome in 2018. beforeprint and afterprint JavaScript events, allowing pages to dynamically customize print layouts beyond simple media styles.Implemented in Firefox in 2015 and Chrome in 2016. BroadcastChannel, which allows pages on the same origin to easily communicate, e.g.Implemented in Chrome in 2012 and Firefox in 2017. TouchEvents, supporting multi-touch and touch gestures on the web.Implemented in Chrome in 2020 and Firefox in January 2021. :focus-visible, which avoids accessibility/design conflicts by showing focus styling only during keyboard navigation.Implemented in Firefox in 2012 and Chrome in 2013. Resolution media queries, which allow content to be styled to match the device pixel density.Implemented in Chrome in 2017 and Firefox in 2019. CSS's overflow-anchor property, which stops pages jumping around while the user is reading.Implemented by Chrome in 2015 and Firefox in 2020. CSS's offset-path property, which allows elements to be animated declaratively along SVG paths.Implemented in Chrome in 2016, and Firefox in 2019. CSS's contain property, which isolates an element's layout from the rest of the DOM, improving browser render performance, and simplifying page layout for developers through isolation.Here's a quick list of some of the features that every other browser has implemented but Safari has not, with no suggestion of any privacy, security or battery life concerns: Hurt battery life, by making web pages bloated & inefficient.Risk security, by increasing the browser attack surface.Reduce user privacy, by supporting tracking.Of the three points above, I think the final one will be most interesting and contentious, but let's get the first two cleared up first: Safari is killing the web by omitting easy safe featuresĪ frequent argument made is that the features which Safari does not implement all either: Unfortunately though, today there are big problems, and the current trajectory is making the web worse, not better. I'm sure the Safari team are working on the issues below already, and I think it's likely that the problems fundamentally derive from management decisions about company priorities rather than the team themselves. That does not mean their current approach deserves our blind support. Their reasons are their own, outside Apple we can do little more than guess, and the concrete issues can make the point without conjecture.īefore we start, I do want to recognize that the Safari/WebKit team are working hard, and I do desperately want them to succeed! Chromium's domination is bad for everybody, and building a popular browser that's focused on privacy & security, as they appear to be trying to do, is a fantastic goal. There have been other arguments made too, including much speculation about why Safari might be killing the web - is this motivated by protecting Apple's app store profits? I'm going to ignore those suggestions entirely, and stick to concrete problems. We'll dig into each of these points in more detail in a second, and then we'll talk about what Safari could do instead. Refusing to engage with the contentious API proposals for real use cases doesn't actually protect the web anyway - it just pushes web developers and users into the arms of Chromium.The largest Safari complaint is unrelated to experimental features from the Chrome team: it's the showstopping bugs in implemented features, made worse by Safari's slow release cycle.Most features that Safari hasn't implemented have no hint of security, privacy or performance concerns, and they've been implemented in every other browser already.More specifically, Safari's approach isn't protecting the web from bloat & evil Google influence, because: That is worth further discussion, because it's widespread, and wrong. I don't want to rehash the basics of that, but I have seen some interesting rebuttals, most commonly: Safari is actually protecting the web, by resisting adding unnecessary and experimental features that create security/privacy/bloat problems. There's been a lot of discussion recently about how "Safari is the new IE" ( 1, 2, 3, 4, 5).
