← Back to context

Comment by spoiler

8 hours ago

I've been saying this for years, and it gets down voted occasionally, but safari/webkit feels like the new IE6. I know Chrome is very bullish with adding extra features and is aggressively pushing some standards, but I've rarely had to write "workarounds" or hacks for Chrome when writing web-standard compliant code for other browsers, but I've had to frequently do it for Safari.

It's been a few years since I've had battle Safari quirks, one example that stuck with me from a couple of years ago is that LocalStorage is not available in private browsing mode. Other browsers just treat it as ephemeral/SessionStorage basically.

Also I remember our Sentry being _littered_ with random React internals throwing (it was like a couple of different things), but it was only ever iOS that had those issues.

> LocalStorage is not available in private browsing mode. Other browsers just treat it as ephemeral/SessionStorage basically.

Correction: it’s not available in Firefox either, throws on get/set. It’s the Chromium family that’s the odd one out, but it’s so popular and testing in other browsers’ private windows so uncommon that developers often don’t realise that localStorage is fallible.

>It's been a few years since I've had battle Safari quirks, one example that stuck with me from a couple of years ago is that LocalStorage is not available in private browsing mode. Other browsers just treat it as ephemeral/SessionStorage basically.

so what's the spec say people should do? Does it not specify?

Well I have known a few things on accessibility and color spaces where Safari was way ahead for a good length of time so my theory has always been that they were ahead on the things they cared about and behind on the things that they didn't care about and depending on what you cared about they might seem like jerks or heroes.

  • Yeah, more than anything, up until recently the WebKit team primarily worked on things that Apple cares about, which is why for example it’s generally been more battery friendly than Gecko or Blink — Apple sells an absurd number of battery powered mobile devices, so they’ve got a powerful motivator to pay more mind to efficiency than most. Similarly, poor color space handling reflects badly on their devices’ displays and makes it more difficult to seamlessly blend WebViews in alongside native components.

    Google and Mozilla by contrast don’t need to care as much about these things since they’re not going to take as much heat for poor battery life or color handling; on the platforms that most of their users are on, these are both the rule and not the exception so users don’t really protest.

    Instead what Google cares the most about is asserting control over the web as a platform, which is directly reflected by the features they’ve prioritized.

I haven't looked into this deeply; but for several years now Jen Simmons has been posting stats in which Safari is either the top scorer for interop, or is very close to the top. For example: https://front-end.social/@jensimmons/115749303356986835

I do not know enough to tell whether this means that modern Safari has finally stopped being the new IE6, or that she is just doing marketing that misleadingly focuses on some features, while other, more frustrating and more deeply rooted, issues remain.

  • If that is your source, then Safari was _way_ behind for all of 2025 up until this month, where it suddenly caught up.

    • True; I was too fascinated by the big green numbers to pay proper attention to the chart below them. Good for them that they finally caught up.

Chrome probably has the benefit of being updated frequently rather than more of an annual cycle. But Safari still isn't anywhere near IE6 levels of awfulness.

  • WebKit also isn’t trying to push a proprietary OS-locked runtime for interactivity, doesn’t wildly diverge in most rendering behavior, and handles most basics correctly.

    As much as IE6 was a menace for not keeping up with standards, what made it really bad was crap like ActiveX, radially different layout/rendering behaviors, and shortcomings like inability to render transparency in PNGs and some of the most illegible italic text rendering I’ve ever seen.