name: Checkbox Button description: A checkbox input styled as a button that allows users to toggle selection states, providing an alternative visual presentation to traditional checkboxes with enhanced interaction design. category: Input slds_classes: root: slds-checkbox_button elements: - class: slds-checkbox_button-group description: Container for checkbox button groups purpose: Groups related checkbox buttons - class: slds-checkbox_button description: Checkbox button wrapper purpose: Contains checkbox input and label styling - class: slds-checkbox_button__label description: Checkbox button label purpose: Provides the button appearance and text - class: slds-checkbox_faux description: Visual checkbox indicator purpose: Button-styled visual representation modifiers: [] states: - class: slds-is-selected description: Selected checkbox button state trigger: Applied when checkbox is checked - class: slds-has-focus description: Focused checkbox button state trigger: Applied when checkbox button has focus - class: slds-is-disabled description: Disabled checkbox button state trigger: Applied when checkbox is disabled variants: - name: Base description: Standard checkbox button classes: - slds-checkbox_button usage_context: Default implementation for button-style checkboxes differences: Basic button-styled checkbox with standard sizing - name: Group description: Multiple checkbox buttons in a group classes: - slds-checkbox_button-group usage_context: When multiple related checkbox buttons are used together differences: Grouped layout with consistent spacing and alignment - name: Stretch description: Full-width checkbox button classes: - slds-checkbox_button usage_context: When button should fill container width differences: Button stretches to full container width lightning_component: name: lightning-checkbox-button url: https://developer.salesforce.com/docs/component-library/overview/components mapping_notes: Checkbox button functionality often implemented through lightning-checkbox-group or custom implementations accessibility: keyboard_support: - Tab navigation to checkbox buttons - Space to toggle checkbox selection - Arrow keys for group navigation - Enter to activate checkbox button screen_reader: - Checkbox button state clearly announced - Selection changes communicated - Group relationships described aria_attributes: - aria-checked for checkbox state - aria-describedby for additional information - aria-labelledby for group labeling - role='checkbox' for button checkboxes usage_guidelines: when_to_use: - When checkbox needs button-like appearance - For toggle selections that benefit from button styling - In interfaces where buttons provide better UX than checkboxes - For multi-select options with prominent visual treatment when_not_to_use: - For single yes/no decisions (use radio buttons) - When traditional checkbox styling is more appropriate - For simple form inputs without special styling needs best_practices: - Provide clear visual feedback for selection states - Use consistent sizing within groups - Ensure adequate touch targets for mobile - Group related checkbox buttons logically - Maintain keyboard accessibility common_mistakes: - Using checkbox buttons for mutually exclusive options - Poor visual distinction between selected/unselected states - Inconsistent button sizing within groups - Missing keyboard accessibility code_examples: - title: Basic Checkbox Button description: Single checkbox styled as a button code: "
\n \n \ \
\n \n \n \n \n\ \
\n
\n" - title: Checkbox Button Group description: Multiple checkbox buttons grouped together code: "
\n \n Choose Your Interests\n \n
\n
\n \n \n \ \ \n \n \n \ \ \n \n \n \n \n \n \ \ \n \n \n \n \n
\n\ \
\n
\n" - title: Stretch Checkbox Buttons description: Full-width checkbox buttons for mobile or constrained layouts code: "
\n \n\ \
\n
\n \n \n \n \n\ \ \n \n \n \n\ \ \n \n \n \ \ \n
\n
\n
\n" - title: Compact Checkbox Buttons description: Compact checkbox buttons for limited space code: "
\n \n \n
\n \n \n \n \n \n \n \n \n Pending\n \n \n \n \ \ \n \n \n
\n
\n \n" - title: Disabled Checkbox Button description: Checkbox button in disabled state code: "
\n \n \ \
\n
\n \n \n \n \n \n \n \n \n Premium Plan\n \n \n \n \n\ \ \n \n
\n
\n
\n" - title: Checkbox Buttons with Description description: Checkbox buttons with additional descriptive text code: "
\n \n Select Features\n \n
\n
\n \n \n \n \n \n \n \ \ \n \n\ \
\n
\n
\n" dependencies: css_files: - checkbox-button.css - form-element.css javascript: - checkbox-button.js icons: - utility-sprite.svg other_components: - form-element - checkbox related_components: - name: Checkbox relationship: alternative description: Traditional checkbox alternative - name: Radio Button Group relationship: similar description: Similar grouped selection concept - name: Button Group relationship: similar description: Similar button grouping layout references: official_docs: https://v1.lightningdesignsystem.com/components/checkbox-button/ metadata: version: 1.0.0 last_updated: '2025-11-12' review_status: complete notes: ' Cleaned invalid classes and CSS variables on 2025-11-12 using slds-plus.css as source of truth.'