ba-checkbox-card
An enhanced checkbox component with a description area for additional context
Figma
GitHub
Storybook
Live Demo
Checkbox details
<ba-checkbox-card
label="Checkbox label"
name="checkboxName"
value="checkboxValue"
required
>
<ba-content>
<p>Checkbox details</p>
</ba-content>
</ba-checkbox>
Guidelines
This is when one, none or multiple options can be selected. If only one option can be selected from list of options, use ba-select or ba-radio-group instead..
Accessibility
Always use the label attribute to give a meaningful label to the field.
Further reading:
Always add descriptive text in the body of ba-checkbox-card to provide users with the context needed for informed selections. This enhances clarity and supports accessibility by offering more information about each option
If you require a checkbox button without a description, use the ba-checkbox component instead.
All of the content in a ba-checkbox-card will be read out at once when a screen reader user lands on it. Keep any descriptive text in the body of ba-checkbox-card short and to the point. If you need to convey more extensive information, consider placing it outside of the card or referencing a separate page/resource. Doing so avoids overwhelming screen reader users and helps maintain a clear, accessible interface.
Disabled form elements are not supported in BAgel because they create accessibility challenges, such as preventing keyboard navigation, confusing screen reader users, and reducing visual clarity for those with impairments
Further reading:
Code
Properties & Attributes
| Property | Attribute | Description | Type | Default |
|---|---|---|---|---|
checked |
checked |
If true, the checkbox is selected. |
boolean | undefined |
false |
label(required) |
label |
text displayed next to the checkbox | string |
undefined |
name(required) |
name |
The name of the control, which is submitted with the form data. | string |
undefined |
required |
required |
If true, the user must check the checkbox before submitting a form. |
boolean | undefined |
false |
value(required) |
value |
the value of the checkbox. | string |
undefined |
Events
| Event | Description | Type |
|---|---|---|
baChange |
Emitted when the checked property has changed. | CustomEvent<CheckboxChangeEventDetail> |
Methods
isValid() => Promise<boolean>
An exposed method for triggering the inputs required validation
reset() => Promise<void>
Resets the input back to its initial value
Returns
Type: Promise<void>
Slots
| Slot | Description | Permitted elements |
|---|---|---|
| Unnamed slot | Elements will render in the body of the component | <a>, <ba‑content>, <ba‑grid>, <ba‑image>, <ba‑link>, <ba‑media‑object> |
"error" |
Elements will render in the body of the component | <p> |
Parent components
ba-checkbox-card can be slotted into:
Usage
Basic usage
<ba-checkbox
label="Checkbox label"
name="checkboxName"
value="checkboxValue"
required
>
<ba-content>
<p>Additional descriptive content goes here</p>
</ba-content>
</ba-checkbox>