In defense of two-state theme toggles

The frontend community is debating whether theme toggles should have two states (light/dark) or three (adding 'system'). Josh Collinsworth argues that two states are usually sufficient, citing Lea Verou's clever implementation that avoids lock-in by storing preferences only when they differ from the system setting. He addresses the case for tri-state toggles, dismissing dynamic theme concerns as edge cases and noting that 'system' is unclear to many users. He concludes that adding complexity for a tiny minority isn't worth it.
I think we’ve mostly invented it.
- dspillett
Generally I don't care if the third option is there or not, but one place where “system” is useful is when the preference is in an app and saves to my profile. I usually use a light theme on desktop but dark on mobile. Though TBH if the toggle is in easy reach it is no hardship to flick it one way or the other.
A common gripe I have isn't the toggle, but that people often don't test both states, neglecting the one that they don't personally use, so elements creep in that are difficult (or even impossible) to read/see in one of the options because of contrast problems. If you are going to have both options, please test both options. Not having my preference is less annoying than being offered my preference but it not actually being usable.
As a side note, this is the ultimate light/dark mode implementation: https://tonsky.me/
- account42
There should not be a toggle on the website at all.
- kqr
I had no idea people had so strong feelings about theme toggles. I know some applications offer the choice, but I imagined it was because a small set of developers took it as a fun challenge to implement. One of my banking apps has a theme toggle. I look at that app twice a month to see if I need to rebalance the savings portfolio. It doesn't need a theme toggle. Clearly, the toggle is just the result of a scheduled "fun sprint" in between real work. Right?
But this article implies a theme toggle is table stakes for new development, as implied by the parenthetical:
> (despite the irony that the site that post is published on offers no theming or theme toggle at all)
Like... is that something a website should do? Does this come from a bubble, or have UX people in the industry more broadly moved past "should we provide a theme toggle" into "what is the optimal shape of the theme toggle we obviously must have"?
Maybe I'm old, but I don't expect developers of things to produce multiple themes to suit different preferences. It seems like a complete waste of their time. That time could better be used to improve functionality, fix bugs and stability, or increase behavioural tracking for more specifically targeted advertisements.