Token, typografi og kjernekomponenter — de samme som appen bruker. Kontrastverdiene måles i nettleseren fra de faktisk rendrede fargene mot WCAG AA (4.5:1 for tekst, 3:1 for store/grafiske elementer).
Farge er funksjonell: status, alarmnivå og seleksjon — aldri dekorasjon. Mening bæres alltid også av form, ikon eller tekst.
| Token | Prøve | Verdi | Kontrast |
|---|
Geist Sans for grensesnitt, Geist Mono for data: koordinater, MMSI, fart og tidsstempler. Normaltekst er 14–16 px; bare etiketter, metadata og piller går ned til 12 px, som er minste størrelse. All tekst er under terskelen for «stor tekst», så alle tekstpar måles mot AA-kravet 4.5:1. Hele paletten er revidert i scripts/wcag-audit.ts; statuspillene fikk nøytral mørk bakgrunn fordi tonede flater i samme fargetone målte 3.3–4.3:1 og strøk.
4 px-basert skala (Tailwind). Tett, men luftig nok til rask skanning i datalister.
Status kodes med form først, farge etterpå: pil = i fart (rotert mot kurs), diamant = stilleliggende, stiplet ring = aktiv hendelse, siktebraketter + puls = valgt (i kartet dempes samtidig øvrig trafikk), hul kontur = mørkt fartøy vist på sist kjente posisjon. Blink er reservert for én tilstand: en ukvittert kritisk hendelse (ATC-disiplin) — kvitteringen stopper blinkingen. Fargespråket er fast i begge kartmoduser: grønn = normal trafikk, rød/gul/blå = alvorsgrad, cyan = valgt, fylt sirkel med senterhull = kontakt uten AIS.
Soner og infrastruktur har hver sin strektype i tillegg til farge, slik at de kan skilles uten fargesyn.
Under 1.5 kn i K1 · Kabelkorridor (illustrativ) i 22 min, forflyttet 0.5 nm langs korridoren — mønster forenlig med ankerdragging.
I appen ligger forklaringen bak selve score-tallet:
Prinsippene under er ikke pynt — hvert av dem peker på et konkret valg i grensesnittet.