Overview

Use a chip dismissible group to show values people have added or applied, such as active filters or the classes an assessment is set for, and let them remove each one with its dismiss button.

Anatomy

Chip dismissible group anatomy

#PartDescription
1GroupChipDismissibleGroup. Lays chips out in a row that wraps, with an 8px gap. Calls onDismiss with the chip's value.
2ContainerChipDismissibleGroup.Item. 8px corner radius. Not clickable itself.
3Leading icon (optional)An Icon child, such as a person for a pupil. Reinforces the label, never replaces it.
4LabelOne to three words, in sentence case. Cut off with an ellipsis if too long.
5Dismiss buttonRemoves the chip. Its accessible name comes from dismissActionLabel.

When to use

  • Showing filters applied to a list, table or dashboard, so people can see and remove them, such as Year 6 and Pupil Premium on a results page.
  • Showing values chosen in a field, such as the classes and pupils an assessment is set for.

When not to use

Do's and Don'ts

    Do

    Show applied filters as dismissible chips above the results they filter.

    Don't

    Use dismissible chips for options people choose from. Use Chip Toggle Group instead.

    Do

    Show the values chosen in a field, such as the classes and pupils an assessment is set for.

    Don't

    Use dismissible chips to show status. Use Badge instead.

    Do

    Use one appearance and one size for every chip in a group.

    Don't

    Mix standard and modern chips, or different sizes, in one group.

Choosing an appearance

Standard, modern grey and modern white appearances

  • Modern: use it for all new work. Chips have no border and use neutral grey text.
  • Standard (default in code): outlined chips in primary colours. Keep it on existing screens until they move to modern.

Modern has two themes. Choose the one that contrasts with the surface behind the chips:

  • theme="grey" (default): grey chips, for white surfaces such as cards, pages and input fields.
  • theme="white": white chips, for grey surfaces such as filter panels and grey page backgrounds.

theme only affects the modern appearance. Use the same appearance as any Chip Toggle Group on the same screen.

States

Chip dismissible states for each appearance

The dismiss button turns primary on hover and focus. When the dismiss button has keyboard focus, the whole chip gets the standard focus outline: 2px primary-800, 2px away from the chip, the same as other Atom components. Disabled chips are shown at 30% opacity and can't be removed. Set disabled on one chip, or on the group to lock them all.

Size

Small, medium and large dismissible chips

  • Medium (md, default): use it in most places.
  • Small (sm): use it inside input fields and in dense areas. Its dismiss button is 24px.
  • Large (lg): use it when chips are the main content of the area.

Use the same size for every chip in a group, and match the size of a Chip Toggle Group on the same screen.

Wrapping and long labels

Chips wrap onto a new row when they run out of space. A label wider than the group is cut off with an ellipsis; the dismiss button always stays visible.

Applied filters wrapping onto new rows, with a long label cut off

Accessibility

  • Label every dismiss button. Set dismissActionLabel to say what is removed, such as "Remove Year 5". The default, "Dismiss", doesn't say which chip it belongs to.
  • Move focus after removing a chip. The chip disappears when dismissed, and focus isn't moved for you. In onDismiss, move focus to the next chip's dismiss button, or to the field or heading the chips belong to when none are left.
  • Name the group. Give ChipDismissibleGroup an aria-label (for example "Filters applied"), or put a visible heading right above it.
  • Keyboard. Tab moves from one dismiss button to the next, skipping disabled chips, and Shift+Tab moves back. Enter or Space removes the chip. The focused chip shows the standard blue focus outline.
  • Never rely on the icon alone. A leading icon reinforces the label; the label must make sense without it.
  • Touch targets. The dismiss button is 32px on medium and large chips and 24px on small chips. Keep the 8px gap between chips.

Structure and spacing

Dismissible chip size and spacing

PropertyTokenpxrem
Height - sm-24px1.5
Height - md (default)-32px2
Height - lg-40px2.5
Border radiusradius-md8px0.5
Border (standard only)-1px-
Padding x, chip edgespace-14px0.25
Padding x, labelspace-14px0.25
Dismiss button - sm-24px1.5
Dismiss button - md & lg-32px2
Dismiss iconsm16px1
Gap between chipsspace-28px0.5
Focus outline-2px, 2px offset-

Typography

Chip sizeFamilyWeightText sizerempx
sm, mdbody400sm0.875rem14
lgbody400md1rem16

Colour

AppearanceBackgroundBorderTextDismiss icon (hover)
Standardprimary-100primary-800primary-900grey-600 (primary-900)
Modern greygrey-100nonegrey-800grey-700 (primary-900)
Modern whitewhitenonegrey-800grey-700 (primary-900)

On keyboard focus, every appearance adds a primary-800 focus outline around the chip.

Options

OptionIn codeValuesDefault
Appearanceappearancestandard, modernstandard
Themethemegrey, white (modern only)grey
Sizesizesm, md, lgmd
Dismiss labeldismissActionLabelText, such as "Remove Year 5""Dismiss"
DisableddisabledOn the group or on a single chipfalse
Leading iconIcon childAny icon, before the labelNone

Related