![]() |
Buttons | Inputs | Toggles | Typography |
Aesthetihawk Guide - Toggles
Categories: AesthetihawkSwitches (Toggles)
How to Use
Switches are used to toggle settings or binary options on and off. They’re functionally similar to checkboxes but are styled like modern on/off sliders.
Basic structure:
<label class="switch">
<span class="toggle">
<input type="checkbox" [checked]>
<span class="slider [colorClass]"></span>
</span>
<span class="label-text">Optional Label</span>
</label>
Variants and When to Use Them
✅ Default Switch
-
Example:
<label class="switch"> <span class="toggle"> <input type="checkbox"> <span class="slider"></span> </span> </label>
-
Use When: You need a basic toggle without any label or color indication. Best for minimal UI or visual prototypes.
✅ Checked (Default Color)
-
Example:
<input type="checkbox" checked>
- Purpose: Starts in the “on” state.
- Use When: You want the toggle to be active by default (e.g., opt-in features).
✅ Green Variant
-
Example:
<span class="slider green"></span>
- Purpose: Adds a green color to the active state for visual reinforcement (e.g., enabling a feature or safe action).
- Use When: The toggle represents something positive, confirmed, or safe (like turning on notifications or permissions).
✅ Switch with Label
-
Example:
<span class="label-text">Enable notifications</span>
- Purpose: Describes what the toggle does.
- Use When: The toggle’s purpose isn’t visually obvious. Recommended in most cases for accessibility and clarity.
Accessibility Tips
- Always use a
<label>
so clicking the text also toggles the switch. -
If no visible label is used, add an
aria-label
to the<input>
:<input type="checkbox" aria-label="Enable notifications">
- Ensure keyboard navigation and focus styles are visible.
Good Practices
Variant | Use Case |
---|---|
Default | Binary option in a compact UI |
Checked | Default “on” state |
.slider.green |
Confirmed/successful actions (e.g., enabled states) |
With .label-text |
Always add for clarity and accessibility |
Examples
Class names aren’t listed here. Please check toggles.md for it.