Skip to main content

Tooltip

En Tooltip er en liten informasjonsboks som vises når brukeren holder musepekeren over, fokuserer på eller berører et element. Den brukes til å gi ekstra kontekst, forklaringer eller detaljer uten å forstyrre hovedinnholdet.

Kun tekst

Tooltip-panelet viser kun ren tekst. Bruk Popover for innhold som krever formatering, lenker eller interaktive elementer.

Egnet til

  • Kort, supplerende informasjon knyttet til et element
  • Forklaring av ikoner, begreper eller forkortelser
  • Kontekst til handlinger før brukeren utfører dem
  • Når informasjonen ikke er kritisk for å fullføre oppgaven

Uegnet til

  • Viktig informasjon som brukeren må forstå for å fullføre en oppgave
  • Lengre forklaringer eller komplekse instruksjoner — bruk popover i stedet
  • Innhold som må være tilgjengelig på mobil uten hover
  • Som erstatning for tydelige etiketter

Bruk på skjemafelt

Tooltip integreres i skjemafelt via tooltip-prop (React) eller tooltip-attributt (HTML) på feltkomponentene. <ix-field> injiserer automatisk en info-ikon-knapp i label-raden.

Result
Loading...
Kode
Live Editor
<TextField
  label="Navn"
  tooltip="Fullt juridisk navn som det står i passet"
  tooltipLabel="Mer informasjon om Navn"
/>

Med TextArea

Result
Loading...
Kode
Live Editor
<TextArea
  label="Beskrivelse"
  tooltip="Maks 500 tegn, ingen HTML"
  tooltipLabel="Mer informasjon om Beskrivelse"
/>

Retningslinjer

Innhold

Hold teksten kort og presis — ideelt 1–4 ord eller én kort setning. Tooltip er ikke egnet til lengre forklaringer.

  • Skriv i et klart og enkelt språk
  • Unngå fagbegreper hvis mulig
  • Start med det viktigste først
  • Ikke bruk punktlister
  • Kun ren tekst — ingen HTML, lenker eller formatering

Posisjonering

Tooltip plasseres automatisk over trigger-elementet (top som standard) og flipper til motsatt side om det ikke er plass. Plassering kan overstyres via tooltipPlacement (React) eller tooltip-placement (HTML):

VerdiBeskrivelse
topOver trigger, sentrert (standard)
top-startOver trigger, justert mot venstre
top-endOver trigger, justert mot høyre
bottomUnder trigger, sentrert
bottom-startUnder trigger, justert mot venstre
bottom-endUnder trigger, justert mot høyre
leftTil venstre for trigger
rightTil høyre for trigger

Pilen peker alltid mot senteret av trigger-elementet, også etter at panelet er clamped til viewport.

Result
Loading...
Kode
Live Editor
<div style={{display: 'grid', gridTemplateColumns: '1fr 1fr 1fr', gap: '2rem', padding: '3rem'}}>
  <TextField label="Top (standard)" tooltip="Tekst over feltet" tooltipPlacement="top" tooltipLabel="Mer informasjon" />
  <TextField label="Top-start" tooltip="Justert mot venstre" tooltipPlacement="top-start" tooltipLabel="Mer informasjon" />
  <TextField label="Top-end" tooltip="Justert mot høyre" tooltipPlacement="top-end" tooltipLabel="Mer informasjon" />
  <TextField label="Bottom" tooltip="Tekst under feltet" tooltipPlacement="bottom" tooltipLabel="Mer informasjon" />
  <TextField label="Bottom-start" tooltip="Justert mot venstre" tooltipPlacement="bottom-start" tooltipLabel="Mer informasjon" />
  <TextField label="Bottom-end" tooltip="Justert mot høyre" tooltipPlacement="bottom-end" tooltipLabel="Mer informasjon" />
  <TextField label="Left" tooltip="Tekst til venstre" tooltipPlacement="left" tooltipLabel="Mer informasjon" />
  <TextField label="Right" tooltip="Tekst til høyre" tooltipPlacement="right" tooltipLabel="Mer informasjon" />
</div>

Interaksjon

  • Vises ved hover (300 ms delay), focus og touch
  • Lukkes når musepekeren forlater trigger, fokus flyttes, eller brukeren trykker Escape
  • Trenger ikke aktiv lukking — forsvinner automatisk
  • Kun én tooltip er synlig om gangen

API

Props på TextField og TextArea

PropTypeStandardBeskrivelse
tooltipstringInnholdet som vises i tooltip. Kun tekst — ingen HTML. Trigger injeksjon av info-knapp i label-raden.
tooltipLabelstringaria-label på info-knappen. Alltid påkrevd for riktig tilgjengelighet — se advarsel over.
tooltipPlacementse tabell over"top"Ønsket plassering. Flipper automatisk om det ikke er plass.

Universell utforming

Hva du selv må sørge for

  • Send alltid inn tooltipLabel — info-knappen har ingen hardkodet aria-label. Uten tooltipLabel (React) / tooltip-label (HTML) vil knappen stå uten tilgjengelig navn. En konsolladvarsel vises under utvikling. Eksempler: "Mer informasjon" (bokmål), "Meir informasjon" (nynorsk), "More information" (engelsk).
  • Tooltip er ikke eneste kilde til kritisk informasjon — informasjon brukeren ha for å fullføre en oppgave skal ligge i label eller description.
  • Kun tekst i tooltip — ikke legg inn HTML, lenker eller formatering i tooltip-verdien.

Hva komponenten gjør automatisk

  • role="tooltip" settes på panelet — skjermlesere behandler det korrekt som supplerende beskrivelse
  • aria-describedby kobles dynamisk fra info-knappen til tooltip-panelet når tooltip åpnes, og fjernes ved lukking
  • aria-label settes på info-knappen med verdien fra tooltipLabel / tooltip-label
  • Escape lukker tooltip uten å flytte fokus (WCAG 2.1.2)
  • Focus aktiverer tooltip — tastaturbrukere har full tilgang
  • 44×44 px touch-mål via ::before på info-knappen (WCAG 2.5.8)
  • Focus-visible-ring på info-knappen (WCAG 2.4.7)
  • Inverted farger med tilstrekkelig kontrast mellom tekst og bakgrunn (WCAG 1.4.3)

Tastaturnavigasjon

TastHandling
TabFlytter fokus til info-knappen
Shift+TabFlytter fokus til forrige fokuserbare element
EscapeLukker tooltip uten å flytte fokus

Skjermleser

  • Ved fokus på info-knappen: "[tooltipLabel], knapp" — f.eks. "Mer informasjon, knapp"
  • Tooltip-innhold leses som tilleggsbeskrivelse: "[label], tekstfelt, [tooltip-innhold]" når aria-describedby er satt
  • Tooltip-innholdet annonseres ikke ved åpning — det er tilgjengelig via aria-describedby og leses ved fokus på trigger

WCAG-kriterier

Sist gjennomgått: 2026-05-15 — alle 56 WCAG 2.2-kriterier vurdert

WCAG-kriterier4 ditt ansvar · 17 håndtert · 37 ikke relevant · 0 ikke på plass
Ditt ansvar (4)
KriteriumNivåHva du må gjøre
4.1.2 Navn, rolle, verdiASend alltid inn tooltipLabel på riktig språk. Info-knappen har ingen hardkodet aria-label — konsumenten er ansvarlig for å sende inn riktig tekst. Bruk tooltipLabel (React) / tooltip-label (HTML) med verdien for appens språk: "Mer informasjon" (bokmål), "Meir informasjon" (nynorsk) eller "More information" (engelsk). Mangler tooltip-label vil knappen stå uten tilgjengelig navn og bryte WCAG 4.1.2.
3.1.2 Språk på deler av innholdAASend alltid inn tooltipLabel på riktig språk. Info-knappen har ingen hardkodet aria-label — konsumenten er ansvarlig for å sende inn riktig tekst. Bruk tooltipLabel (React) / tooltip-label (HTML) med verdien for appens språk: "Mer informasjon" (bokmål), "Meir informasjon" (nynorsk) eller "More information" (engelsk). Mangler tooltip-label vil knappen stå uten tilgjengelig navn og bryte WCAG 4.1.2.
1.4.13 Innhold ved hover eller fokusAAIkke bruk tooltip som eneste kilde til kritisk informasjon. Tooltip er supplementær informasjon — ikke kritisk. Informasjon brukeren må ha for å fullføre en oppgave skal ligge synlig i label, description eller annen permanent tekst. Tooltip er uegnet på mobil der hover ikke er tilgjengelig, og er unntatt fra ellers strenge krav til alternativ (WCAG 1.4.13 tillater at hover-innhold kan lukkes uten krav om persistens utover interaksjonen).
3.1.5 3.1.5?Hold tooltip-innholdet kort. Tooltip er designet for 1–4 ord eller én kort setning. Lengre forklaringer, punktlister eller lenker hører ikke hjemme i en tooltip. Bruk popover for lengre innhold.
Håndtert av komponenten (17)
KriteriumNivåHva komponenten gjør
1.3.1 Informasjon og relasjonerArole="tooltip" på panelet gir skjermleseren korrekt semantikk. aria-describedby kobles dynamisk fra trigger til panel ved åpning.
1.3.2 Meningsfull rekkefølgeATrigger-knappen og panelet følger naturlig DOM-rekkefølge.
1.3.3 Sensoriske egenskaperAInformasjon formidles via tekst, ikke farge alene.
1.4.1 Bruk av fargeATooltip bruker ikke farge som eneste bærende informasjon.
1.4.3 Kontrast (minimum)AATooltip-panelet bruker inverterte design tokens (mørk bakgrunn, lys tekst) med tilstrekkelig kontrast.
1.4.4 Endre tekststørrelseAARelative enheter — skalerer korrekt ved 200 % zoom.
1.4.10 OmflytAATooltip-panelet er position: fixed og tilpasser seg viewport ved posisjonering.
1.4.11 Kontrast for ikke-tekstlig innholdAAFokusindikator på info-knappen oppfyller 3:1 kontrastkrav.
1.4.12 TekstavstandAATåler økt line-height og bokstavavstand uten tap av innhold.
1.4.13 Innhold ved hover eller fokusAATooltip forblir synlig ved hover over panelet (safe-area via pointer-events). Lukkes med Escape. Forsvinner ikke ved hover over trigger-elementet.
2.1.1 TastaturATooltip aktiveres ved focus — tastaturbrukere får tilgang uten mus.
2.1.2 Ingen tastaturfelleATooltip lukkes med Escape uten å flytte fokus.
2.4.3 FokusrekkefølgeAInfo-knappen er en <button> som følger naturlig tab-rekkefølge.
2.4.7 Synlig fokusAATydelig focus-visible-ring på info-knappen.
2.5.8 Målstørrelse (minimum)AAInfo-knappen har min-width/height 44px — oppfyller touch-målkrav.
3.2.1 Ved fokusAFokus på trigger åpner tooltip, men trigger ingen navigasjon eller kontekstendring.
4.1.2 Navn, rolle, verdiAInfo-knappen er en native <button> med aria-label. role="tooltip" på panel. aria-describedby kobler trigger til panel.
Ikke relevant (37)
KriteriumNivåHvorfor ikke relevant
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.4 VisningsretningAAIngen fast orientering — tilpasser seg visningsretning.
1.3.5 Identifiser formål med inndataAAIngen input-felter i tooltip.
1.4.2 Styring av lydAIngen lydelementer.
1.4.5 Bilder av tekstAAIngen bilder av tekst.
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)AIngen lenker i komponenten.
2.4.5 Flere måterAASidekrav — gjelder ikke enkeltkomponenter.
2.4.6 Overskrifter og ledeteksterAATooltip er ikke en overskrift eller label.
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> — 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 inndataATooltip aktiveres av hover/focus, ikke av skjemainnsending.
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 StatusmeldingerAAIngen statusmeldinger — tooltip-innhold er ikke en statusmelding.

Tilpasning med CSS

Tilgjengelige klasser og selektorer

ElementSelektor
Tooltip-panel.ix-tooltip
Pil (pseudo-element).ix-tooltip::before
Plassering over trigger.ix-tooltip[data-placement^="top"]
Plassering under trigger.ix-tooltip[data-placement^="bottom"]
Plassering til venstre.ix-tooltip[data-placement="left"]
Plassering til høyre.ix-tooltip[data-placement="right"]
Label-rad (label + info-knapp).ix-field__label-row
Info-knapp.ix-field__tooltip-btn

Tilpassede farger

.ix-tooltip {
--ix-tooltip-background: var(--ix-color-foreground-main-default);
}

Relatert

  • TextField — tekstfelt der tooltip er tilgjengelig via tooltip-prop
  • TextArea — tekstområde der tooltip er tilgjengelig via tooltip-prop