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 implementasjonsdetaljer kan du se checkbox.

Har du noen innspill til komponenten?Gi oss beskjed!

Test komponenten

Kodebygger

PktCheckbox

Innhold
Hjelpetekst som vises under labelen, for eksempel for å forklare feltet nærmere
Utseende
Størrelse på tekst, hjelpetekst og tile. Uten verdi arves størrelsen fra input-wrapperen rundt
Teknisk
Arves fra PktCheckboxGroup når det ikke er satt
ID-en til skjemaet feltet hører til, når feltet ligger utenfor skjemaet

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
Varianter: Standard og med ramme (tile)Switch med tekst

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
Switch i på og av posisjon

Størrelser

Switch kan brukes i tre ulike størrelser:

StørrelserBruk
Medium (default)Standard, og skal brukes som hovedregel
SmallFor trange flater, som tabeller og kompakte skjema
XSmallFor ekstra trange flater, som kompakte tabeller og informasjonstette fagsystemer
Eksempel på switch i forskjellige størrelser

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.

Typer: Frittstående og med tekst

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

Bruk knapp for handlinger som krever bekreftelse

Unngå

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

Skriv ledetekst som beskriver hva som skrus av eller på

Unngå

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

La endringen tre i kraft umiddelbart når switchen aktiveres

Unngå

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
Switch i ulike skjermstørrelser

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
Anatomi for Switch

Implementasjon i kode

Se checkbox for implementasjon i kode.

Egenskaper

Se checkbox for egenskaper.