Get StartedFoundationsComponentsPatternsIntegration
01.Get Started
02.Foundations
03.Components
04.Patterns
05.Integration
Overview
Accordion
Badge
Breadcrumb
Button
Gradient Button
FAB
Icon Button
Card
Checkbox
Chips
Date Picker
Dialogs
Divider
List
Loading
Menu
Options
Pagination
Radio
Scrollbar
Search
Selector
Skeleton
Slider
Swiper
Switch
Tabs
Text Field
TextArea
Toast
Tooltip

CHECKBOX

PreviousCard
ChipsNext
ELFBAR Design

V 0.1.0

A design system built for BMD teams.

Brand Marketing Department

Resources

  • GitHub
  • Storybook
  • Figma

Documentation

  • Changelog
  • Components
  • Tokens
  • Global market globe

Brands

  • ELFBAR Official
  • LostMary Official

Copyright © 2026 ELFBAR. All rights reserved.

When to Use

Example: multi-step survey (multi-select)

Satisfaction survey

About 2 minutes. Your responses are anonymous.

How did you hear about us?

Social media
Friend or family
Retail store or event

What matters most to you? (Select all that apply)

Battery life
Flavor variety
Design and portability
Step 2 of 2
Submit
  • Allowing users to select multiple options from a list (e.g. filters, preferences)
  • Providing a single opt-in toggle such as "I agree to terms"
  • Parent/child selection patterns that require an indeterminate state
  • Use Radio instead when only one option can be selected; use Switch for immediate on/off toggles

Usage Guidelines

DO

Use for multi-select scenarios (filters, bulk actions, preferences) where each option is independent

Don’t

Don't use checkboxes for mutually exclusive selection — use Radio instead

DO

Write labels that describe the selection outcome, not the action (e.g. "Accept terms" not "Click to accept")

Don’t

Don't use checkboxes as instant toggles — use Switch for immediate state changes

DO

For more than 8 options, provide a "Select all" control with Indeterminate state for partial selection. Arrange vertically, one option per row

Don’t

Don't omit labels — screen readers rely on labels to identify a checkbox's purpose

Interaction Behavior

StateDescription
DefaultDefault appearance, not focused
HoverMouse hover shows semi-transparent state layer around the box
FocusKeyboard focus shows focus ring
DisabledFully grayed out, pointer-events: none

Accessibility

RequirementImplementation
Semantic elementRadix UI @radix-ui/react-checkbox, native role="checkbox"
Label associationhtmlFor + id — clicking the label equals clicking the box
Indeterminate statechecked="indeterminate"
GroupingRelated checkboxes grouped with <fieldset> + <legend>