Toggles Considered Harmful

I just read this post from Marcin Wichary's Unsung, where he points out a peculiar macOS dialog box that shows boolean toggles in four different shades of grey:

macOS's Link to Mac or iPad dialog box, showing four settings implemented as toggles, each in a different shade of grey

Marcin offers some improvements, but the actual problem is fundamental to macOS: these types of toggles are bad UI controls and should simply not exist.

I think toggles originated on iOS, where they replaced checkboxes. I suspect the reason is that they feel more tactile on a touchscreen, have a larger touch target, and resemble physical switches - Apple's original UI design approach for iOS valued this kind of skeuomorphism.

Toggles make sense in the real, physical world because of their mechanical properties. But even there, they need additional affordances to work. For example, this power strip has a toggle switch to turn it on and off:

Toggle on a power strip with "Reset" and "Off" labels

Note that there are labels for each state, and a light to indicate the current state. That's because the toggle itself is symmetrical. There is no obvious way to tell whether it is on or off.

Now let's go back to the digital toggle:

A digital toggle

Is this toggle on or off? If you don't already know that "left" means "off" and "right" means "on", you have absolutely no way to tell.

Apple's attempts to make toggle states more obvious ultimately created the confusing situation in the original screenshot. Therefore, the most expedient solution to the original UI problem is simply to use a control whose state is obvious.

The same screen, toggles replaced with checkboxes, now makes the checked/unchecked and enabled/disabled states obvious

If you require a short url to link to this article, please use https://ignco.de/818

designed for use cover

But wait, there's more!

Want to read more like this? Buy my book's second edition! Designed for Use: Create Usable Interfaces for Applications and the Web is now available DRM-free directly from The Pragmatic Programmers. Or you can get it on Amazon, where it's also available in Chinese and Japanese.