A selectable Chip is a toggle button: clicking, Enter or Space emits selectedChange. Bind selected and accept the proposed value in the application. With removable, the Chip becomes a group containing a remove button; selectedChange is not emitted. removed requests removal, but the application must actually remove the item. Project the visible label or an icon and label together.
selected is an Input, not a model. selectedChange is a proposed value: use [selected] and (selectedChange) to update application state. removed is an event; the component does not remove itself. There are no Signal Forms bindings.
Selectable chips expose aria-pressed. Tab focuses enabled chips; Enter and Space propose a toggle without scrolling the page. Removable chips focus their native remove button, named by removeAriaLabel. disabled blocks both interactions. Keep visible text meaningful; do not rely on selected color alone.
Key
Action
Tab
Reach enabled selectable chips and available remove buttons.
Enter
Propose toggling the focused selectable chip, or remove it from its focused remove button.
Space
Propose toggling the focused selectable chip, or remove it from its focused remove button.
Listen to an event with (event)="handler($event)". The table explains the data your handler receives and how to use it.
Name
Payload
Template binding
Description
removed
void
(removed)="onRemoved($event)"
Removal request; the application removes the item.
selectedChange
boolean
(selectedChange)="onSelectedChange($event)"
Proposes the next selected boolean; never mutates selected automatically.
Templates
ng-content projects content into the component. TemplateRef inputs receive a template; ng-template directives identify templates with a typed context. A directive shared by an entrypoint is not necessarily a slot of this component.