Switch

Release dato: 31.01.2024

Sist oppdatert: 13.03.2025

En switch (ogsĂ„ kalt toggle eller bryter) lar brukeren veksle mellom to mulige tilstander – av eller pĂ„. Den brukes for handlinger som fĂ„r umiddelbar effekt, uten at brukeren mĂ„ bekrefte eller lagre.

Typiske bruksomrÄder er Ä skru pÄ varsler, aktivere en funksjon eller slÄ av en innstilling.

For demo og implementasjonsdetaljer kan du se checkbox.

Eksempler

Med labelPosition kan man legge label til venstre:

Switch kan ogsÄ presenteres med en skjult label:

Relaterte komponenter

Varianter

Variant

VariantBeskrivelse
StandardNÄr switch stÄr alene eller i en enkel liste
Med ramme (tile)NÄr du vil ramme inn en switch visuelt

Type

TypeBeskrivelse
FrittstÄendeBrukes nÄr konteksten er tydelig, for eksempel i tabeller eller lister
Med tekstBrukes nÄr det er nÞdvendig Ä forklare hva som skrus av/pÄ, kan ogsÄ ha hjelpetekst

Retningslinjer for bruk

Bruk switch nÄr

  • handlingen fĂ„r umiddelbar effekt nĂ„r den slĂ„s av eller pĂ„
  • brukeren forventer en visuell bekreftelse pĂ„ tilstanden
  • valget gjelder Ă©n funksjon eller innstilling

UnngÄ switch nÄr

  • du trenger bekreftelse eller lagring fĂžr endringen trer i kraft (bruk checkbox eller button)
  • brukeren skal kunne velge flere alternativer samtidig (bruk checkbox)
  • brukeren skal velge ett av flere alternativer (bruk radio button)

Bruk switch nÄr endring i tilstanden ikke skal kreve bekreftelse

Bruk switch for binÊre handlinger som slÄr en funksjon av eller pÄ umiddelbart. Endringen skal tre i kraft med én gang, uten at brukeren mÄ bekrefte eller lagre. Gi alltid switchen en tydelig ledetekst som forteller hva som blir aktivert eller deaktivert.

Switch skal ikke erstatte knapp

En switch skal ikke brukes til Ă„ starte en enkeltstĂ„ende handling som normalt gjĂžres med en knapp. For eksempel: “Lagre endringer” bĂžr vĂŠre en button, ikke en switch.

GjĂžr slik

GjĂžr slik – bruk knapp for enkeltstĂ„ende handlinger
Bruk knapp for handlinger som krever bekreftelse

UnngÄ

UnngĂ„ – switch som erstatning for knapp
UnngÄ switch som erstatning for knapp

Ledeteksten skal beskrive handlingen

Ledeteksten skal fortelle hva som skrus av eller pÄ, switchen viser statusen. UnngÄ Ä legge status direkte inn i teksten.

GjĂžr slik

Gjþr slik – ledetekst beskriver handlingen
Skriv ledetekst som beskriver hva som skrus av eller pÄ

UnngÄ

UnngĂ„ – ledetekst uttrykker status i stedet for handling
UnngÄ ledetekst som uttrykker status i stedet for handling

Endringen skal ha umiddelbar effekt

En switch skal ikke kreve et ekstra steg for Ă„ bekrefte. Effekten skal tre i kraft idet brukeren aktiverer eller deaktiverer bryteren.

GjĂžr slik

Gjþr slik – la endringen tre i kraft umiddelbart
La endringen tre i kraft umiddelbart nÄr switchen aktiveres

UnngÄ

UnngĂ„ – ekstra lagringstrinn etter at switch er brukt
UnngÄ ekstra lagringstrinn etter at switchen er brukt

Responsivitet

Switch fungerer pÄ alle skjermstÞrrelser. Den tilpasser seg tilgjengelig plass, og bryteren og eventuell tekst bryter linjer ved behov.

  • at ledetekst og bryter har god avstand og er lett Ă„ treffe pĂ„ mobil
  • at interaksjonen fungerer like godt i stĂ„ende og liggende visning
  • at skjulte etiketter fungerer pĂ„ alle skjermlesere

Universell utforming

Switch er egentlig bare en checkbox

Switch er teknisk implementert som en checkbox med role="switch", og fþlger samme tastaturinteraksjon: “space” aktiverer/deaktiverer.

Bruk alltid ledetekst/etikett

Bruk alltid en etikett (synlig eller skjult) som beskriver hva bryteren gjĂžr (WCAG 2.1: 1.3.1 Info and Relationships, 2.4.6 Headings and Labels). Ved grupper av switcher, bruk fieldset og legend for Ă„ gi kontekst.

Switch og skjermleser

Endringen skal annonseres for skjermlesere umiddelbart ved aktivering (WAI-ARIA Switch Pattern).

Anatomi

ElementBeskrivelse
Ledetekst venstre (valgfritt)Kort tekst som beskriver handlingen
SwitchSelve bryteren som endrer tilstand
Ledetekst hĂžyre (valgfritt)Kort tekst som beskriver handlingen
Hjelpetekst (valgfritt)Utfyllende forklaring under ledeteksten

Implementasjon i kode

Se checkbox for implementasjon i kode.

Props og tokens

Se checkbox for egenskaper.