skills/toggle/SKILL.md
Use when you need to switch between two states.
npx skillsauth add thedaviddias/ux-patterns-for-developers toggleInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Switch between two states
A Toggle pattern helps teams create a reliable way to switch a binary setting on or off while making the current state obvious before and after interaction. It is most useful when teams need settings and preferences. Compared with adjacent patterns, this pattern should reduce friction without hiding the state, rules, or recovery paths people need to keep moving.
aria-pressed only when the control represents an action state such as play/pause or show/hide.references/pattern.md, then choose the smallest viable variation.aria-describedby or structural headings when useful.The Problem: Immediate validation on partial input makes the pattern feel punitive and noisy.
How to Fix It? Wait until the user has enough information in the field, then validate on blur, pause, or submit depending on the risk of the rule.
The Problem: People cannot tell which message belongs to which control when the copy is visually detached.
How to Fix It?
Keep labels, helper text, and validation messages tightly grouped and connected with aria-describedby where appropriate.
The Problem: Desktop-only styling hides the fact that mobile keyboards, autofill, and paste flows behave differently.
How to Fix It? Test the control with autofill, paste, zoom, and on-screen keyboards before calling the pattern complete.
For full implementation detail, examples, and testing notes, see references/pattern.md.
Pattern page: https://uxpatterns.dev/patterns/forms/toggle
tools
Use when implementing multi-step forms and processes.
content-media
Use when implementing video playback with controls.
development
Use when choosing, comparing, or implementing UX patterns across the UX Patterns for Developers corpus.
tools
Use when implementing user profile and account management.