Input

Input brukes når vi har behov for å ta imot tekst fra sluttbruker.

Obligatoriske felter

Normalt ber man bare brukeren oppgi informasjon når det er nødvendig, og i NAVs løsninger betyr det at de fleste input-feltene vil være påkrevd. Vi har derfor valgt å ikke markere obligatoriske felter. Hvis et felt er valgfritt, skal disse markeres med ordet «valgfri» i parentes bak label-teksten. For eksempel «Alder (valgfri)».

Inputtyper

Bruk alltid input med type-attributt som passer for den dataen som skal tastes inn. Hvis brukes skal oppgi epostadressen sin så bør du bruke type="email" slik at mobilbrukere får opp tastatur med @-symbolet, eller type="tel" slik at de får opp nummer-tastatur osv. Se oversikt over hvilke typer du kan bruke her.

Unntak

Det gir semantisk mening å ta i bruk type="number", men det viser seg å kunne være problematisk for enkelte brukere.

  • Noen skjermlesere har problemer med å tolke og skjønne bruken av type="number".
  • Nettlesere formaterer større nummer på forskjellige måter. Chrome 79.0 kan ende opp med å vise tallet i eksponentielt format, mens safari vil prøve å runde ned tallet.
  • Blant annet Chrome lar ikke brukeren skrive noe annet enn tall, komma/punktum og ´e´. Dette betyr at brukeren ikke får noe feedback på om det de skriver er rett eller ikke.
  • Scroll wheel/gesture vil kunne brukes for å inkrementere og dekrementere input, noe som kan føre til uheldig feil utfylling av data.

Unngå placeholders

Vi fraråder bruken av placeholder-attributtet på input-elementer. Mer info på tilgjengelighets-siden for placeholders.