My post on two-state dark mode toggles sparked a lot of discussion about the optimal dark mode toggle design. But should you have a (persistent) dark mode toggle at all? I have since been convinced that for most websites, the answer is no.
Do you mean altogether unnecessary, or unnecessary as a persistent toggle on the main screen?
If you’re talking about the former I’d disagree, easiest way to explain is with my own real-world example.
I put basically everything in dark mode, but our ticketing system’s website I put in light mode (even though they have a dark mode) because their dark mode looks like shit.
A toggle is not the best solution to your problem.
100% correct. Unfortunately I’m far more likely to have access to a toggle than for them to make their dark mode nice.
E.g. I’ve asked them to add more languages to the code button in their WYSIWYG editor for replying to tickets. I don’t use/do any web stuff but I had figured out that they use Froala, and Froala uses prism.js. I asked them to include 5 more languages (bash/sh/shell, batch, ini, json, Powershell) and requested that the list be sorted alphabetically, and told them it should just be a matter of changing the Froala codeSnippetLanguage plugin option. I haven’t even had a reply in 5 months.
I also spent some time trying to modify the WYSIWYG editor options myself using a userscript but didn’t get anywhere useful.
I think the better alternative would be for browsers to have some kind of per-site override instead of relying on every single site building the same system and putting the option in a different place.
If a setting is universally supported by all sites (which dark mode should be, along with the other common accessibility flags), it shouldn’t be something that the site needs to control.
It probably wasn’t clear in my post but I’d be happy with the toggle being in the browser (not something I’ve historically thought about but a great idea), it was more about the existence of a toggle.
I do agree with @jaredwhite@humansare.social that having the toggle in the header is a waste of space.
Same with horizontal tabs.
Yes. Toggles are unnecessary, a phenomenon of weird nerds. Just match the system settings and you’re fine.
Do you mean altogether unnecessary, or unnecessary as a persistent toggle on the main screen?
If you’re talking about the former I’d disagree, easiest way to explain is with my own real-world example.
I put basically everything in dark mode, but our ticketing system’s website I put in light mode (even though they have a dark mode) because their dark mode looks like shit.
Once, a client asked me to put a spinner on a page that was slow to load. I made the underlying SQL query 2000 times faster instead.
A toggle is not the best solution to your problem.
100% correct. Unfortunately I’m far more likely to have access to a toggle than for them to make their dark mode nice.
E.g. I’ve asked them to add more languages to the code button in their WYSIWYG editor for replying to tickets. I don’t use/do any web stuff but I had figured out that they use Froala, and Froala uses prism.js. I asked them to include 5 more languages (bash/sh/shell, batch, ini, json, Powershell) and requested that the list be sorted alphabetically, and told them it should just be a matter of changing the Froala
codeSnippetLanguageplugin option. I haven’t even had a reply in 5 months.I also spent some time trying to modify the WYSIWYG editor options myself using a userscript but didn’t get anywhere useful.
I think the better alternative would be for browsers to have some kind of per-site override instead of relying on every single site building the same system and putting the option in a different place.
If a setting is universally supported by all sites (which dark mode should be, along with the other common accessibility flags), it shouldn’t be something that the site needs to control.
It probably wasn’t clear in my post but I’d be happy with the toggle being in the browser (not something I’ve historically thought about but a great idea), it was more about the existence of a toggle.
I do agree with @jaredwhite@humansare.social that having the toggle in the header is a waste of space. Same with horizontal tabs.
Maybe there’s a case to be made for a theme setting on a screen somewhere. Or as others have said, this could be set at the browser level per site.
I just think having a toggle up in the header is sort of a UX waste.