Skip to main content

Removable chip

En removable chip representerer et aktivt valg eller en verdi som brukeren kan fjerne — for eksempel et valgt filter. Den finnes kun i valgt tilstand (den eksisterer ikke før den er valgt) og vises med fylt aksentfarge og et kryss til høyre.

Hele chipen er fjern-knappen. Et klikk hvor som helst på chipen — eller Enter/Mellomrom når den har fokus — fjerner den. Krysset er et dekorativt CSS-ikon uten eget fokus, så det blir kun ett tab-stopp per chip. Dette følger mønsteret i Aksel og Designsystemet.

Det tilgjengelige navnet settes sammen av label og et fjern-suffiks, f.eks. «Sparing fjern». I React sender du suffikset via removeLabel; i ren HTML setter du hele aria-label selv. Suffikset må være på brukerens språk — komponenten har ingen hardkodet fallback.

Kom i gang

Result
Loading...
Kode
Live Editor
<RemovableChip removeLabel="fjern" onRemove={() => {}}>
  Sparing
</RemovableChip>

Eksempler

Gruppe av removable chips

Result
Loading...
Kode
Live Editor
<div style={{ display: 'flex', flexWrap: 'wrap', gap: 'var(--ix-spacing-sm)' }}>
  <RemovableChip removeLabel="fjern" onRemove={() => {}}>Sparing</RemovableChip>
  <RemovableChip removeLabel="fjern" onRemove={() => {}}>Lån</RemovableChip>
  <RemovableChip removeLabel="fjern" onRemove={() => {}}>Forsikring</RemovableChip>
</div>

Liten størrelse

Result
Loading...
Kode
Live Editor
<RemovableChip size="sm" removeLabel="fjern" onRemove={() => {}}>
  Sparing
</RemovableChip>

Universell utforming

Hva du selv må sørge for

  • Gi removable chip et tilgjengelig fjern-navn — send removeLabel (React) eller sett hele aria-label (HTML), f.eks. «Sparing fjern». Uten det hører skjermleserbrukeren bare «Sparing, knapp» og vet ikke at klikk fjerner den. Bruk riktig språk (bokmål «fjern», nynorsk «fjern», engelsk «remove») — ingen hardkodet fallback.
  • Gi chipen en kort og tydelig label — teksten beskriver verdien som kan fjernes og inngår i det tilgjengelige navnet.
  • Bruk chips i grupper — removable chips viser aktive valg og gir mest mening presentert sammen.
  • Ikke stol på farge alene — teksten må alltid være den primære informasjonsbæreren.

Hva komponenten gjør automatisk

  • Tilgjengelig navn settes til «[label] [removeLabel]».
  • Fjern-krysset er dekorativt — det rendres med CSS (::after) og ligger ikke i tilgjengelighetstreet. Hele chipen er fjern-knappen, så det blir kun ett tab-stopp.
  • type="button" settes som standard så chipen ikke sender inn skjema utilsiktet.
  • Fokusindikator via :focus-visible — synlig for tastaturbrukere, ikke for mus.

Tastaturnavigasjon

TastHandling
TabFlytter fokus til chipen
Shift+TabFlytter fokus til forrige fokuserbare element
EnterFjerner chipen
SpaceFjerner chipen

Skjermleser

  • Ved fokus: "[label] [removeLabel], knapp" (f.eks. «Sparing fjern, knapp»)
  • Deaktivert: "[label] [removeLabel], knapp, deaktivert"

WCAG-kriterier

Sist gjennomgått: 2026-06-29 — alle 56 WCAG 2.2-kriterier vurdert

WCAG-kriterier7 ditt ansvar · 15 håndtert · 40 ikke relevant · 0 ikke på plass
Ditt ansvar (7)
KriteriumNivåHva du må gjøre
4.1.2 Navn, rolle, verdiAGi removable chip et tilgjengelig fjern-navn. Removable chip fjernes ved klikk på hele chipen, og krysset er kun et dekorativt CSS-ikon. Send removeLabel (React) eller sett hele aria-label (HTML), f.eks. «Sparing fjern». Uten det hører skjermleserbrukeren bare «Sparing, knapp» og vet ikke at aktivering fjerner chipen. Konsumenten er ansvarlig for riktig språk (bokmål «fjern», nynorsk «fjern», engelsk «remove») — komponenten har ingen hardkodet fallback.
2.4.6 Overskrifter og ledeteksterAAGi removable chip et tilgjengelig fjern-navn. Removable chip fjernes ved klikk på hele chipen, og krysset er kun et dekorativt CSS-ikon. Send removeLabel (React) eller sett hele aria-label (HTML), f.eks. «Sparing fjern». Uten det hører skjermleserbrukeren bare «Sparing, knapp» og vet ikke at aktivering fjerner chipen. Konsumenten er ansvarlig for riktig språk (bokmål «fjern», nynorsk «fjern», engelsk «remove») — komponenten har ingen hardkodet fallback.
2.5.3 Label i navnAGi removable chip et tilgjengelig fjern-navn. Removable chip fjernes ved klikk på hele chipen, og krysset er kun et dekorativt CSS-ikon. Send removeLabel (React) eller sett hele aria-label (HTML), f.eks. «Sparing fjern». Uten det hører skjermleserbrukeren bare «Sparing, knapp» og vet ikke at aktivering fjerner chipen. Konsumenten er ansvarlig for riktig språk (bokmål «fjern», nynorsk «fjern», engelsk «remove») — komponenten har ingen hardkodet fallback.
2.4.6 Overskrifter og ledeteksterAAGi chipen en kort og tydelig label. Label-teksten beskriver verdien chipen representerer — f.eks. «Sparing» eller et valgt filter. Den inngår i det tilgjengelige navnet sammen med fjern-suffikset. Unngå lange tekster.
1.3.1 Informasjon og relasjonerAGi chipen en kort og tydelig label. Label-teksten beskriver verdien chipen representerer — f.eks. «Sparing» eller et valgt filter. Den inngår i det tilgjengelige navnet sammen med fjern-suffikset. Unngå lange tekster.
1.3.1 Informasjon og relasjonerABruk chips i grupper, ikke alene. Removable chips viser aktive valg eller filtre og gir mest mening presentert sammen i en gruppe. En enkeltstående removable chip gir lite kontekst.
1.4.1 Bruk av fargeAIkke stol på farge alene for å skille chips. Forskjeller mellom chips må ikke kun kommuniseres med farge. Teksten må alltid være den primære informasjonsbæreren. Krysset (dekorativt) signaliserer at chipen kan fjernes.
Håndtert av komponenten (15)
KriteriumNivåHva komponenten gjør
1.3.1 Informasjon og relasjonerANative <button>-element med implisitt rolle. Tekst-innhold gir tilgjengelig navn automatisk.
1.3.2 Meningsfull rekkefølgeAInnholdet følger naturlig lesrekkefølge i DOM.
1.4.1 Bruk av fargeATilstand (hover/active) kommuniseres med fyll og kant i tillegg til farge — ikke farge alene.
1.4.4 Endre tekststørrelseAARelative enheter — skalerer korrekt ved 200 % zoom.
1.4.10 OmflytAAReflower korrekt ned til 320px viewport.
1.4.11 Kontrast for ikke-tekstlig innholdAAFokusindikator oppfyller 3:1 kontrastkrav.
2.1.1 TastaturANative <button> aktiveres med Enter og Space. Fullt opererbart med tastatur.
2.1.2 Ingen tastaturfelleAFokus kan navigeres ut med Tab og Shift+Tab.
2.4.3 FokusrekkefølgeAFølger naturlig tab-rekkefølge i DOM. Krysset er et dekorativt CSS-ikon uten eget fokus, så hver removable chip er ett tab-stopp.
2.4.7 Synlig fokusAATydelig fokusindikator via :focus-visible med outline-token.
3.2.1 Ved fokusAFokus trigger ingen kontekstendring.
1.4.3 Kontrast (minimum)AATekstfarge mot fill-main-tokens i alle interaksjonstilstander. Disabled-tilstand (opacity: 0.4) er unntatt fra kravet per WCAG.
4.1.2 Navn, rolle, verdiANative <button> med implisitt rolle=button og navn fra aria-label «[label] [removeLabel]». Native disabled-attributt eksponeres til hjelpemidler.
2.5.3 Label i navnADen synlige label-teksten inngår i det tilgjengelige navnet («[label] [removeLabel]»).
2.5.8 Målstørrelse (minimum)AAHele chipen er fjern-knappen. md-størrelsen gir klikkflate godt over 24×24px. sm-størrelsen (padding-block spacing-2xs + font-size-sm) er nær minimumet; chips presenteres i grupper med gap mellom seg, slik at avstands-unntaket i SC 2.5.8 gjelder. Konsumenten må unngå å pakke sm-chips så tett at både mål og avstand kommer under 24px.
Ikke relevant (40)
KriteriumNivåHvorfor ikke relevant
1.1.1 Ikke-tekstlig innholdAKrysset er et dekorativt CSS-ikon (::after) uten egen markup og ligger ikke i tilgjengelighetstreet.
1.2.1 Bare lyd og bare video (forhåndsinnspilt)AIngen medieelementer.
1.2.2 Teksting (forhåndsinnspilt)AIngen medieelementer.
1.2.3 Synstolking eller mediealternativ (forhåndsinnspilt)AIngen medieelementer.
1.2.4 Teksting (direkte)AAIngen medieelementer.
1.2.5 Synstolking (forhåndsinnspilt)AAIngen medieelementer.
1.3.3 Sensoriske egenskaperAChipen formidler ikke instruksjoner — den representerer et valg som kan fjernes.
1.3.4 VisningsretningAAIngen fast orientering — tilpasser seg visningsretning.
1.3.5 Identifiser formål med inndataAAIkke et skjemafelt som ber om personlig informasjon.
1.4.2 Styring av lydAIngen lydelementer.
1.4.5 Bilder av tekstAAIngen bilder av tekst.
1.4.12 TekstavstandAA
1.4.13 Innhold ved hover eller fokusAA
2.1.4 TastatursnarveierAIngen egendefinerte tastatursnarveier.
2.2.1 Justerbar hastighetAIngen tidsbegrensede funksjoner.
2.2.2 Pause, stopp, skjulAIngen animasjon eller automatisk oppdatering.
2.3.1 Terskelverdi på tre glimtAIngen blinkende eller glimtende innhold.
2.4.1 Hoppe over blokkerASidekrav — gjelder ikke enkeltkomponenter.
2.4.2 SidetitlerASidekrav — gjelder ikke enkeltkomponenter.
2.4.4 Formål med lenke (i kontekst)A
2.4.5 Flere måterAASidekrav — gjelder ikke enkeltkomponenter.
2.4.11 Fokus ikke skjult (minimum)AAIngen sticky/overlappende elementer som kan skjule fokus.
2.5.1 PekerbevegelserAIngen drag-and-drop eller sveipebevegelser.
2.5.2 Avbryt pekerANative button-element — nettleseren håndterer pekerinteraksjon.
2.5.4 BevegelsesaktiveringAIngen bevegelsesbasert interaksjon.
2.5.6 Samtidige inndatamekanismerA
2.5.7 DrabevegelserAIngen drag-and-drop.
3.1.1 Språk på sidenASidekrav — gjelder ikke enkeltkomponenter.
3.1.2 Språk på deler av innholdAAKomponenten setter ikke lang-attributt — innhold er på sidespråket.
3.2.2 Ved inndataAChipen trigger ingen automatisk kontekstendring ved fokus.
3.2.3 Konsistent navigasjonAASidekrav — gjelder ikke enkeltkomponenter.
3.2.4 Konsistent identifikasjonAASystemkrav — gjelder konsistens på tvers av sider, ikke enkeltkomponenter.
3.2.6 Konsistent hjelpASidekrav — gjelder plassering av hjelpefunksjon på tvers av sider.
3.3.1 Identifikasjon av feilA
3.3.2 Ledetekster eller instruksjonerA
3.3.3 Forslag ved feilAA
3.3.4 Forhindring av feil (juridisk, økonomisk, data)AAFlytkrav — gjelder bekreftelse/reversering av transaksjoner, ikke enkeltfelter.
3.3.7 Redundant oppføringAFlytkrav — gjelder at brukeren ikke skal gjenta informasjon i en prosess.
3.3.8 Tilgjengelig autentisering (minimum)AAIkke en autentiseringskomponent.
4.1.3 StatusmeldingerAARemovable chip genererer ingen statusmeldinger selv; konsumenten varsler ev. om at et valg er fjernet.

Props / API

RemovableChip

PropTypeStandardBeskrivelse
childrenstringEtiketten på chipen. Inngår i det tilgjengelige navnet
removeLabelstringPåkrevd. Suffiks i det tilgjengelige navnet, f.eks. "fjern" gir «Sparing fjern». i18n — ingen fallback
onRemove() => voidKalles når chipen fjernes (klikk / Enter / Mellomrom)
size'sm' | 'md''md'Størrelse
disabledbooleanDeaktiverer chipen (nativ HTML-attributt)

I tillegg støttes alle standard HTML-knapp-attributter (onClick, onFocus, type, name, value, tabIndex osv.) og settes direkte på elementet.

Tilpasning med CSS

Trenger du removable chip-stylingen på HTML du setter sammen selv, kan du bruke .ix-chip-klassen med data-removable direkte.

Tilgjengelige klasser og attributter

Element/tilstandSelektor / attributt
Chip.ix-chip
Removable chip (valgt)data-removable
Fjern-kryss.ix-chip[data-removable]::after (dekorativt, ingen markup)
Liten størrelsedata-size="sm"
Hover / active:hover / :active (automatisk)
Fokus:focus-visible (automatisk)
Deaktivertdisabled eller aria-disabled="true"

Eksempel: ren HTML

<button class="ix-chip" data-removable aria-label="Sparing fjern">
Sparing
</button>

<button class="ix-chip" data-size="sm" data-removable aria-label="Lån fjern">
Lån
</button>

Relatert

  • Chip — oversikt over chip-familien og felles retningslinjer
  • Button chip — chip som trigger en handling
  • Radio chip — gruppe der brukeren velger nøyaktig ett alternativ