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: "