TagsInput

Free-form multi-value chip input

Category: inputs · WCAG 2.2-AA · form, tags, chips, multi, input

States

Props

PropTypeDefaultDescription
valuestring[]The controlled value.
onValueChange(v: string[]) => voidCalled with the new value when it changes.
placeholderstringPlaceholder text shown when the field is empty.
validate(tag: string) => booleanReturns whether a candidate tag is allowed.
maxnumberMaximum allowed value.
disabledbooleanfalseWhen true, disables the control and removes it from the tab order.
idstringId for the **inner text input** — the focusable control, so a `<label for>` names the thing that actually takes focus. `Field` supplies this automatically.
ariaLabelstringInvisible accessible name for the tag entry field. Use when no visible label names it; inside a `Field` it is not needed, as the Field label is wired through automatically.
labelstringAlias of `ariaLabel` — the same invisible accessible name under the other spelling. Not rendered.

Design tokens

When to use

When not to use

How to build an accessible TagsInput in React →

Examples

Basic

<TagsInput value={['react', 'vue']} onValueChange={() => {}} placeholder="Add tag…" />

Related components

← Back to docs