Alert

Release dato: 13.03.2023

Sist oppdatert: 07.07.2025

Alert (varsel, statusbeskjed) gir en beskjed til brukeren – for eksempel for å informere om en viktig hendelse, bekrefte en handling eller varsle om en feil.

Formålet med en alert er å hjelpe brukeren med å forstå hva som har skjedd og eventuelt hva de bør gjøre videre.

Live demo

Relaterte komponenter

Varianter

Statuser

Alert har fire ulike statuser med tilhørende farge og ikon:

TypeBruk
Info (blå)Gir tilleggsinformasjon som ikke krever umiddelbar handling
Success (grønn)Bekrefter at en handling har vært vellykket
Warning (gul)Advarer brukeren om systemfeil og konsekvenser av valg
Error (rød)Gir brukeren beskjed om at noe er feil. Hvis mulig, si noe om hvordan hen kan løse oppgaven sin

Størrelse

Alert har to ulike størrelser:

StørrelseBruk
StandardDefault
KompaktFor korte, tettere meldinger (f.eks. inline i skjemaer)

Bruksområder

Alert har tre ulike bruksområder:

BruksområdePlassering
Inline alertBrukes tett på innhold (f.eks. under felt)
Banner alertPlassert over innhold, med tittel og dato
Toast alertKort status som vises midlertidig (f.eks. autolagring)

Retningslinjer for bruk

Bruk alert når

  • du vil informere brukeren om en viktig status, endring eller feil
  • du vil bekrefte at en handling har blitt utført, for eksempel at noe har blitt sendt inn, lagret, eller slettet

Unngå alert når

  • informasjonen ikke er kritisk for brukerens oppgave
  • det bare handler om visuell gruppering – bruk messagebox i stedet
  • det allerede finnes for mange alerts

Alerten skal være lett å forstå

Bruk et ikon som matcher alvorlighetsgraden og budskapet.

Alerten bør formidle budskapet raskt og effektivt, særlig når du bruker inline alert. Ved bruk av banner alert, kan du vurdere å legge til en tittel hvis meldingen trenger en oppsummering.

Hvis alerten ikke er knyttet til en bestemt handling, bør brukeren kunne lukke den manuelt. Dette gir brukeren kontroll og reduserer visuell støy.

Gjør slik

Eksempel på klare og direkte meldinger
Skriv klare og direkte meldinger

Unngå

Eksempel på unødvendig detaljert informasjon
Unngå lange avsnitt ekker unødvendig detaljert informasjon

Vis én alert om gangen

For mange alerts kan overvelde og forvirre. Vis én alert om gangen hvis mulig, og sørg for at den viktigste meldingen vises øverst.

Gjør slik

Eksempel tydelig og klart, i kun én alert.
Skriv tydelig og klart, i kun én alert

Unngå

Eksempel på flere statuser i flere ulike alerts.
Unngå å dele opp flere statuser i flere ulike alerts

Plasser alerten i nærheten av innholdet

Plasser alerten så nært det innholdet eller feltet den handler om som mulig. Det gjør det enklere å forstå konteksten.

Hvis alerten er en feilmelding, skal brukeren alltid få vite hva hen kan gjøre for å fikse feilen. Du finner tips om hvordan skrive gode feilmeldinger i artikkelen om beste praksis for skjemadesign.

Responsivitet

Alert-komponenten tilpasser seg automatisk tilgjengelig plass og bryter linjer der det er nødvendig. Dette gjelder både inline alerts, banner alerts og toast alerts.

Det er likevel viktig å teste hvordan alerten fungerer i din løsning, da kontekst og plassering har betydning for opplevelsen:

  • Toast alerts bør testes på mobil (både i stående og liggende visning) for å sikre at meldingen er tydelig og ikke blir oversett.
  • Plassering påvirker tilgjengelighet og synlighet. På små skjermer kan det være nødvendig å justere marginer, padding eller z-index for å unngå at alerten dekker viktig innhold.
  • Lange meldinger bør vurderes nøye. Selv om komponenten bryter linjer, kan for mye tekst gjøre det vanskelig å oppfatte innholdet raskt.

Kort oppsummert: Alerten håndterer layout og linjebryting automatisk, men du må selv sikre god plassering, visuell prioritering og tydelighet i den konteksten alerten brukes.

Universell utforming

Innhold må gi mening med skjermleser

Alert må kunne oppfattes av alle brukere, uavhengig av hvordan de navigerer eller hvilke hjelpemidler de bruker. Du må sørge for at innholdet kan leses med skjermleser og være tilgjengelig med kun tastatur.

Det er viktig at budskapet i alerten ikke kun blir formidlet visuelt – både tekst og ikon må bidra til å forklare innholdet.

Sørg for at meldingen kan oppfattes i tide

Ved bruk av toast alerts som forsvinner automatisk må du være sikker på at alle brukere får med seg meldingen, også de med skjermleser. Er du er i tvil, anbefaler vi å la meldingen bli værende med mulighet for å lukke den manuelt.

Lukkeknappen må være tilgjengelig med tastatur

Alerts som kan lukkes må ha en tydelig og tilgjengelig lukkeknapp som kan fokuseres og aktiveres med tastatur.

Test komponenten på ulike skjermstørrelser

Du må sørge for å teste at komponenten fungerer som den skal på ulike skjermer. Vi anbefaler også at du tester på ulike zoom-nivå.

Mer om universell utforming av alerts:

Anatomi

ElementBeskrivelse
1. IkonAngir type alert (valgfritt)
2. Tittel (valgfritt)Beskrivende overskrift (valgfritt)
3. MeldingHovedinnhold
4. Dato (valgfritt)Dato eller tidsperiode (valgfritt)
5. Lukkeknapp (valgfritt)Lukker alert permanent (valgfritt)

Implementasjon i kode

Om options

Alert kan enten ta en JSON-liste som attributt/prop i options, eller en rekke <option>-elementer. Dersom du forventer at options vil endre seg dynamisk, eller ta i bruk tagSkinColor, description eller prefix, anbefaler vi at du bruker JSON-liste. Uansett vil options alltid bli konvertert til en array av objekter i komponenten.

Hvordan ta komponenten i bruk?

Testing

Elements og React: Dersom du skal skrive tester med JSDOM eller liknende er det viktig at du lar komponenten bli rendret ferdig før du tester den. Dette kan gjøres ved å kjøre denne kodelinjen før testene kjøres:

await window.customElements.whenDefined("pkt-alert");

Dersom du bruker verktøyene i punkt-testing-utils så kan dette bli gjort automatisk for deg.

Props og tokens

PropTypeBeskrivelse
titlestringTittelen som vises øverst i på meldingen
skininfo
success
warning
error
Hvordan type melding er dette?
datestringDato som vises nederst i på meldingen
ariaLiveoff
polite
assertive
Hvordan skal skjermleseren lese opp meldingen?
compactbooleanGjør meldingen mindre
closeAlertbooleanViser 'Lukk'-knappen
Slot (children)Beskrivelse
defaultInnholdet i meldingen
EventBeskrivelse
onCloseReact: Klikk-event for 'Lukk'-knappen
closeVue: Klikk-event for 'Lukk'-knappen

Farger

ElementCSS Variabel
Background
Border
Text