by altairprime | 2025-07-25 11:08:18+00:00
It apparently took Mozilla a couple decades to allow displays to present #ff0000 as sRGB red correctly mapped into the display’s LUT, rather than as (100%, 0%, 0%) in the display’s native LUT, which is why for several years anyone using Firefox on a ProPhoto or Adobe RGB or, later, DCI-P3 or BT.2020 display would get eye-searing colors from the web that made you flinch and develop a migraine. It was, I assume, decided that the improper tone mapping curve gave their version of the web more lifelike color saturation than other browsers — at least on their majority platform Windows, which lacked simple and reasonable color management for non-professional users until Windows 11. So Firefox looked brighter, flashier on every shitty Windows display in the world, and since displays were barely capable of better than sRGB, that was good.

Unfortunately, this also meant that Firefox gave eyestrain headaches to every design professional in the world, because our pro color displays had so much more eye-stabbing color and brightness capability than everyone else’s. It sucked, we looked up the hidden preference that could have been flipped to render color correctly at any time, and it was tolerable.

Then Apple standardized DCI-P3 laptop displays on their phones and tablets, where WebKit did the right thing — and on laptops and desktops, where Firefox did not. Safari wasn’t very good yet back then to earn conversions, though certainly it is now, and when people tried to switch from Firefox the colors looked washed out and bland next to that native display punch. So everyone thought that Apple’s displays were too bright whenever they surfed the web and suffered through a bad LUT experience — literally, Firefox was jamming 100% phosphor brightness into monitors well in excess of sRGB’s specified luminosity range — by dimming their displays and complaining about Apple.

And one day, Chrome showed up; faster, lighter, and most critically, not migraine inducing. The first two advantages drew people in; the third made them feel better physically.

Designers, professionals, everyone who already had wide color monitors and then also students; would have eventually discovered (perhaps without ever realizing it!) that with Chrome (and with Safari, if they’d put up with it), they didn’t have to dim their monitors, because color wasn’t forcibly oversaturated on phosphors that could, at minimum, emit 50% higher nits than the old sRGB-era displays. The web didn’t cause eye strain and headaches anymore.

Firefox must have lost an entire generation of students in a year flat — along with the everyone in web design, photography, and marketing that could possibly switch. Sure, Chrome was slightly better at the time; but once people got used to normal sRGB colors again, they couldn’t switch back to Firefox without everything being garish and bright, and so if they wished to leave Chrome they’d exit to Safari or Opera instead.

I assume that the only reason Firefox finally fixed this was that CSS forcibly engraved into the color v3 specification a few years ago that, unless otherwise hinted, #ff0000 is in the sRGB color space and must be rendered as such. Which would have left them no room to argue; and so Firefox finally, far too late to regain its lost web designer proponents, switched the default.

As the article describes, Nintendo understands this lesson fully, and chose to ship Zelda with artistic color that renders beautifully assuming any crap TV display, rather than going for the contrast- and saturation-maximizing overtones of the paired combination of brighter- and more-saturated- than sRGB that TV manufacturers call HDR. One need only look to a Best Buy TV wall to understand: every TV is blowing out the maximum saturation and brightness possible, all peacocks with their plumage flashing as brightly as possible, in the hopes of attracting another purchase. Nintendo’s behaviors suck in a lot of ways, but their artistic output understands perfectly how to be beautiful and compelling without resorting to the Firefox approach.

(Incidentally, this is also why any site using #rrggbb looks last-century when embedded in, or shown next to, one designed using CSS color(..) clauses. It isn’t anything obvious, but once you know how to see it, it’s like the difference between 18-bit 256color ANSI and 24-bit truecolor ANSI. They’re not RGB hex codes; they’re sRGB hex codes.)