Tabs

Release dato: 29.01.2024

Sist oppdatert: 17.10.2025

Tabs (faner) er en type navigasjon pÄ en side som lar brukeren bytte mellom relatert innhold uten Ä forlate siden. Valgt fane pÄvirker innholdet i et avgrenset omrÄde under fanerekken. Tabs gjÞr det enkelt Ä navigere mellom ulike deler av samme kontekst.

Test komponenten

Relaterte komponenter

Varianter

Du kan kombinere flere elementer i fanene:

VariantBeskrivelse
Kun tekstEnkelt felt for lengre tekst
Ikon og tekstIkon sammen med tekst
Tekst og tagTekst med en tag for ekstra informasjon
Ikon, tekst og tagKombinasjon av ikon, tekst og tag

Retningslinjer for bruk

Bruk tabs nÄr

  • innholdet hĂžrer til samme side, men bĂžr deles opp i mindre seksjoner
  • du vil gjĂžre det enkelt Ă„ navigere uten Ă„ forlate konteksten

UnngÄ tabs nÄr

  • innholdet ikke hĂžrer naturlig sammen
  • det blir sĂ„ mange faner at de skaper stĂžy eller forvirring
  • innholdet heller bĂžr vises som en egen side eller seksjon

Skriv korte titler

Tittelen pÄ en fane bÞr vÊre kort, tydelig og beskrive panelet den Äpner. Lange titler eller tekst som gÄr over flere linjer gir dÄrlig lesbarhet.

GjĂžr slik

Gjþr slik – korte og presise fanetitler
Bruk korte og presise titler i faner

UnngÄ

UnngĂ„ – lange fanetitler over flere linjer
UnngÄ lange og uklare fanetitler

Antall faner

GjÞr en vurdering av hvor mange faner lÞsningen trenger. For mange faner kan oppleves overveldende. PÄ smÄ skjermer vil overskytende faner fÄ horisontal scroll.

GjĂžr slik

Gjþr slik – begrenset antall faner for oversiktlighet
Bruk et begrenset antall faner for oversiktlighet

UnngÄ

UnngĂ„ – for mange faner pĂ„ samme nivĂ„
UnngÄ for mange faner pÄ samme nivÄ

Tags og ikoner

UnngÄ Ä bruke kun ikoner som titler pÄ faner, og sÞrg for at eventuelle ikoner kommuniserer hvilken type innhold som er i fanen.

Dersom du bruker tags kan du selv velge hvilken farge du Þnsker Ä ta i bruk basert pÄ innholdet eller budskapet du Þnsker Ä formidle. Les mer om god bruk av tags her.

GjĂžr slik

GjĂžr slik – bruk ikoner og tags for Ă„ tydeliggjĂžre innhold
Bruk ikoner og tags for Ă„ tydeliggjĂžre innhold

UnngÄ

UnngĂ„ – uklare ikoner og utydelige tags
UnngÄ faner med ikoner som ikke gir mening og uklare tags

Responsivitet

  • Tabs skal alltid ligge over innholdet de styrer
  • PĂ„ smĂ„ skjermer vil fanerekken kunne scrolle horisontalt
  • Test at titler, ikoner og tags skalerer godt pĂ„ mobil og nettbrett

Universell utforming

  • Én fane vil alltid vĂŠre aktiv, slik at ett panel alltid er synlig
  • FĂžrste fane skal vĂŠre aktiv ved fĂžrste besĂžk pĂ„ en side
  • Faner som brukes som inline navigasjon fĂžlger WAI-ARIA sine krav til tabs
  • Dersom fanene brukes som lenker, oppfĂžrer de seg som en vanlig lenkemeny
  • Tastaturnavigasjon mĂ„ vĂŠre stĂžttet: bruk “pil hĂžyre/venstre” for Ă„ navigere mellom faner og “enter” for Ă„ velge

Anatomi

ElementBeskrivelse
Aktiv faneFane som er valgt og styrer synlig innhold
Sidetittel pÄ faneTeksten som beskriver innholdet
Tag (valgfritt)Tilleggsinformasjon
Ikon (valgfritt)StĂžtter fanens innhold visuelt
Ikke aktiv faneAndre tilgjengelige valg
Aktiv linjeMarkering under aktiv fane
SkillelinjeSkiller faner fra innholdet under

Implementasjon i kode

Hvordan ta komponenten i bruk?

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-tabs");

Props

PktTabs

PropTypeBeskrivelse
tabsarrayListe med lenker eller funksjoner for hver tab (Gammel mÄte Ä sette opp tabs pÄ, bruk heller PktTabItem inni PktTabs)
arrowNav
arrow-nav
booleanAktiverer piltastnavigasjon mellom tabs. Skrur ogsÄ pÄ role='tab' og aria-selected attributter.
disableArrowNav
disable-arrow-nav
booleanDeaktivering av piltastnavigasjon (f.eks. for ren navigasjonsmeny). Overstyrer arrowNav-propsen.
Slot (children)Beskrivelse
defaultPktTabItem-komponenter
EventBeskrivelse
onTabSelectedReturnerer indeksen til den klikkede taben (React)
tab-selectedReturnerer indeksen til den klikkede taben

PktTabItem

PropTypeBeskrivelse
activebooleanEr dette den aktive taben?
hrefstringURL for taben. Hvis satt, rendres taben som en lenke.
iconiconNavnet pÄ ikonet som skal vises
tagstringTekst som vises i en tag pÄ taben
tagSkin
tag-skin
blue
green
red
beige
yellow
grey
gray
blue-light
Utseendet til tag-en
indexnumberTabens indeks i listen. Brukes for navigasjon og callbacks. MÄ settes eksplisitt nÄr tabs mappes.
controlsstringSetter aria-controls attributtet pÄ taben
Slot (children)Beskrivelse
defaultTeksten/innholdet i taben
EventBeskrivelse
clickUtlÞses nÄr taben klikkes. Mottar event-objektet som parameter.