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.

Har du noen innspill til komponenten?Gi oss beskjed!

Test komponenten

Dette er en alert
Dette er innholdet i meldingen.

Kodebygger

PktAlert

Innhold
Tittelen som vises øverst i på meldingen
Dato som vises nederst i på meldingen
Utseende
Hvordan type melding er dette?
Endrer størrelsen på ulike elementer i alerten.
Tilgjengelighet
Hvordan skal skjermleseren lese opp meldingen?

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
Alle fargevarianter av alert

Størrelser

Alert har tre ulike størrelser:

StørrelseBruk
Medium (default)Standard, og skal brukes som hovedregel
SmallFor korte, tettere meldinger (f.eks. inline i skjemaer)
XSmallFor korte, tettere meldinger (f.eks. inline i kompakte skjemaløsninger)
To varianter av alert, default og compact

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

Skriv klare og direkte meldinger

Unngå

Unngå lange avsnitt eller 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

Skriv tydelig og klart, i kun én alert

Unngå

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.

Alert på mobil

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)
Elementene i anatomien til alert.

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?

import @oslokommune/punkt-elements/dist/pkt-alert.js;
import { PktAlert } from '@oslokommune/punkt-react';
<script src="https://punkt-cdn.oslo.kommune.no/19/elements/pkt-alert.js" type="module"></script>

Testing

Elements: 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");

Egenskaper

PktAlert

Props

Prop:
title?
Type:
string
Beskrivelse:
Tittelen som vises øverst i på meldingen
Prop:
skin?
Type:
"info" | "success" | "warning" | "error"
Standardverdi:
"info"
Beskrivelse:
Hvordan type melding er dette?
Prop:
date?
Type:
string
Beskrivelse:
Dato som vises nederst i på meldingen
Prop:
ariaLive?
Type:
"off" | "polite" | "assertive"
Standardverdi:
"polite"
Beskrivelse:
Hvordan skal skjermleseren lese opp meldingen?
Prop:
size?
Type:
"medium" | "small" | "xsmall"
Standardverdi:
"medium"
Beskrivelse:
Endrer størrelsen på ulike elementer i alerten.
Prop:
closeAlert?
Type:
boolean
Standardverdi:
false
Beskrivelse:
Viser 'Lukk'-knappen
Prop:
compact?
Status:
DeprecatedBruk size i stedet; uten eksplisitt size gir compact størrelsen 'small'.
Type:
boolean
Standardverdi:
false
Beskrivelse:
Kompakt visning av alerten.

Slots

Slot:
default
Beskrivelse:
Innholdet i meldingen

Events

Event:
onClose
Type:
—
Beskrivelse:
React: Klikk-event for 'Lukk'-knappen
Event:
close
Type:
—
Beskrivelse:
Elements: Klikk-event for 'Lukk'-knappen
Event:
on-close
Status:
DeprecatedBruk close. on-close fjernes i en senere hovedversjon.
Type:
—
Beskrivelse:
Elements: Samme event som close, beholdt for eldre Vue-oppsett.