Radio Group

<wa-radio-group> Stable Since 2.0

Radio groups wrap a set of radios so they function as a single form control with one shared value. They handle keyboard navigation, labeling, and validation for the group as a whole.

Option 1 Option 2 Option 3

Examples

Link to This Section

Checked

Link to This Section

Use the value attribute on the radio group to set the checked radio.

Option 1 Option 2 Option 3

To target checked radios with CSS, use the :state(checked) selector.

Hint

Link to This Section

Add descriptive hint to a radio group with the hint attribute. For hints that contain HTML, use the hint slot instead.

Option 1 Option 2 Option 3

Radio Buttons

Link to This Section

Set the appearance attribute to button on all radios to render a radio button group.

Option 1 Option 2 Option 3
Option 1 Option 2 Option 3

Disabling

Link to This Section

To disable the entire radio group, add the disabled attribute to the radio group.

Option 1 Option 2 Option 3

To disable individual options, add the disabled attribute to the respective options.

Option 1 Option 2 Option 3

Orientation

Link to This Section

The default orientation for radio items is vertical. Set the orientation to horizontal to items on the same row.

Option 1 Option 2 Option 3

Sizing Options

Link to This Section

The size of radios will be determined by the Radio Group's size attribute.

Option 1 Option 2 Option 3
Option 1 Option 2 Option 3
Option 1 Option 2 Option 3
Option 1 Option 2 Option 3
Option 1 Option 2 Option 3

If you need to have radios of varying sizes, place the size attribute on individual radio items instead.

Extra Small Small Medium Large Extra Large

Validation

Link to This Section

Setting the required attribute to make selecting an option mandatory. If a value has not been selected, it will prevent the form from submitting and display an error message.

Option 1 Option 2 Option 3
Submit

Custom Validity

Link to This Section

Use the setCustomValidity() method to set a custom validation message. This will prevent the form from submitting and make the browser display the error message you provide. To clear the error, call this function with an empty string.

Not me Me neither Choose me
Submit

Importing

Link to This Section

If you're using the autoloader or a hosted project, components load on demand — no manual import needed. To cherry-pick a component manually, use one of the following snippets.

CDN npm Self-Hosted React

Import this component directly from the CDN:

import 'https://ka-f.webawesome.com/[email protected]/components/radio-group/radio-group.js';

After installing Web Awesome via npm, import this component:

import '@awesome.me/webawesome/dist/components/radio-group/radio-group.js';

If you're self-hosting Web Awesome, import this component from your server:

import './webawesome/dist/components/radio-group/radio-group.js';

To import this component for React 18 or below, use the following code:

import WaRadioGroup from '@awesome.me/webawesome/dist/react/radio-group/index.js';

Slots

Link to This Section

Learn more about using slots.

Attributes & Properties

Link to This Section

Learn more about attributes and properties.

Methods

Link to This Section

Learn more about methods.

Events

Link to This Section

Learn more about events.

CSS parts

Link to This Section

Learn more about CSS parts.

Dependencies

Link to This Section

This component automatically imports the following elements. Sub-dependencies, if any exist, will also be included in this list.

Need a hand? Report a bug Ask for help
    No results