For about a month I was using WP Dark Mode. I don’t really recall how I thought upon it to begin with, but I vaguely recall choosing to install it because it seemed kind to support dark mode. Even though I don’t use it myself, it does seem to have a non-trivial following. And I remember being obsessively into it – and OS theming in general – when I was a child.
WP Dark Mode had ‘flashing’ problems, though – where the page loads first in normal, ‘light’ mode and only then re-renders into dark mode. Possibly just a result of interference by WP Fastest Cache, which I later realised was probably deferring WP Dark Mode’s JavaScript files past initial page load. Irrespective, I found that Dracula Dark Mode worked better – though still not flawlessly in this regard – so I switched to that.
However, I eventually noticed that Dracula Dark Mode adds 415 KiB to every single page load, with its JavaScript and CSS files. That doubles the total size for some pages, even with WordPress & Jetpack bloating the baseline. Its own analytics suggested that basically nobody uses dark mode, at least amongst people that browse my website. So that does not seem like a reasonable trade-off.
Thus, with a bit of sadness, I’ve disabled the plug-in. Maybe in future the plug-in’s authors can find a way to optimise things such that its JS & CSS is only loaded if dark mode is actually in use.
Turns out, though, that almost no websites support dark mode anyway – I discovered as much while having dark mode enabled during my own testing. So it doesn’t seem like I’m an odd one out, and my tiny website is not going to start any trends. From the looks of it the way most people actually tackle the web in dark mode is through browser plug-ins which basically do the same thing as the WordPress plug-ins, but for every website. And only users actually interested in dark mode have to pay their price.
I haven’t tried any of them, but there’s numerous Safari plug-ins for dark mode, e.g. Dark Reader, Noir, Dark Mode for Safari, etc.
It does mean I can’t do image substitutions for dark mode users, but I couldn’t find any dark mode WordPress plug-in that works correctly in that regard anyway (they seem to do naive URL substitutions, without accounting for images having various replicas of different sizes per WordPress standard practice, and certainly without supporting Perfect Images). It’s also rare that I have a dark mode version of an image available – though I can at least be better about using actual alpha channels rather than fixed white backgrounds, going forward.