What Is a Toggle?
Toggle is a simple user-interface component that enforces a mutually exclusive state, on or off. When properly implemented toggles make it easy for users to update preferences and settings. They also offer an alternative to more modal controls, like radio buttons and checkboxes, when those are better suited to the task at hand.
When using a toggle it’s important to provide clear, direct labels and to use standard visual cues (like movement and color) to ensure that users are cognizant of the current state of the switch. It’s also a good idea to avoid relying entirely on color to convey meaning and instead to use contrasting colors that are consistent with WCAG best practices and cultural assumptions about the meaning of certain colors.
As a general rule, savvy teams treat Feature Toggles as inventory that comes with a carrying cost and seek to keep the number of toggles in their codebase low. To help with this goal some teams have rules about adding a new Toggle removal task to the backlog whenever a toggle is added and others put “expiration dates” on their toggles that will cause tests to fail if a toggle hasn’t been flipped off before the end of an expected release cycle.
The term toggle is derived from the 18th century meaning of a pin passed transversely through a hole, eye, or loop in a rope, to bind it temporarily to another similar one. Today, it’s commonly used to refer to a button that looks like a light switch and allows you to control something’s on/off state.