Hopp til hovedinnhold

Skjemaelementer er kodet med inndataformål.

    Hva er kravet?

    1.3.5 Identifiser formål med inndata.

    Hva bør jeg teste?

    Hvilke typer av skjemaelementer/inndataformål som skal bestemmes programmeringsmessig, følger av kapittel 7 i WCAG 2.1 (engelsk). Det gjelder blant annet navn, brukernavn, passord, nytt passord, fødselsdag, landskode for telefonnummer med mer.

    Hva er forventet resultat?

    For skjemaelementer som er listet opp i kapittel 7 i WCAG 2.1 (engelsk), gjelder følgende:

    • Skjemafelt er kodet med autocomplete-attributtet i HTML. Innholdet (token) i attributtet tilsvarer informasjonen som brukeren skal skrive inn. For eksempel har skjemafelt som krever at brukeren skriver inn fornavn, autocomplete="given-name". Da er formålet med skjemafeltet bestemt gjennom koden.

    Merk at suksesskriteriet antar at autocomplete-attributtet ikke blir brukt på skjemafelt som krever annen inndata enn det som er beskrevet i HTML 5.2 spesifikasjonen (engelsk). Dersom autocomplete-attributtet blir brukt til å lage en tilpasset/egendefinert navngivning på skjemafeltene, vil ikke kravet/teknikken fungere etter hensikten.

    Løsningsforslag for 1.3.5 Identifiser formål med inndata

    Dette er noen eksempler på hva du kan gjøre. Det finnes flere måter å oppfylle kravet på.

    For at autocomplete skal være aktivert må <input>-/<select>-/<textarea>-elementer

    1. ha et navn og/eller ID-attributt
    2. være etterkommere (decendants) av et <form>-element, hvor
    3. form elementet har en submit-knapp

    Videre må disse ha formål med skjemafeltet bestemt i koden. Dette gjøres ved å for eksempel skrive inn autocomplete="given-name" for fornavn.

    Alle verdiene for autocomplete:

    • "name"

    Feltet forventer at verdien er en persons fulle navn. Å bruke "navn" i stedet for å dele navnet ned i dets komponenter er generelt foretrukket fordi det unngår å håndtere det store mangfoldet av menneskelige navn og hvordan de er strukturert. Du kan imidlertid bruke følgende autofullføringsverdier hvis du trenger å dele navnet ned i dets komponenter:

    • "honorific-prefix" (prefikset eller tittelen, for eksempel "Fru", "Herr", "Frøken", "Dr.", o.l.)
    • "given-name" (fornavn)
    • "additional-name" (mellomnavn)
    • "family-name" (etternavn)
    • "honorific-suffix" (suffikset, for eksempel "Jr.", "B.Sc.", "PhD.", "MBASW", eller "IV")
    • "nickname" (kallenavn)
    • "email" (e-post)
    • "username" (brukernavn)
    • "new-password" (et nytt passord. Når du oppretter en ny konto eller endrer passord, bør dette brukes til et "Skriv inn ditt nye passord" eller "Bekreft nytt passord" -felt, i motsetning til et generelt "Skriv inn ditt nåværende passord" -felt som kan være til stede. Dette kan brukes av nettleseren både for å unngå å fylle ut et eksisterende passord ved et uhell og for å tilby hjelp til å opprette et sikkert passord. Se også hvordan du kan forhindre autofylling av passord (engelsk))
    • "current-password" (brukerens nåværende passord)
    • "one-time-code" (en engangskode som brukes for å bekrefte brukerens identitet)
    • "organization-title" (en stillingstittel, eller tittelen en person har i en organisasjon, for eksempel "Senior Technical Writer", "President" eller "Assistant Troop Leader")
    • "organization" (et firma- eller organisasjonsnavn, for eksempel "Digitaliseringsdirektoratet" eller "Røde Kors")
    • "street-address" (en gateadresse. Dette kan være flere linjer med tekst, og skal fullt ut identifisere plasseringen til adressen innenfor det andre administrative nivået (vanligvis en by eller tettsted), men bør ikke inkludere bynavn, postnummer eller landnavn)
    • "address-line1", "address-line2", "address-line3" (hver enkelt linje i gateadressen. Disse skal kun være tilstede hvis "street-address" ikke er til stede)
    • "address-level1" (poststed. I Norge brukes generelt kun nivå 1, men det finnes flere nivå (2-4) som typisk brukes i land med flere administrative nivå)
    • "country" (landskode)
    • "country-name" (en lands- eller territoriekode)
    • "postal-code" (et postnummer)
    • "cc-name" (det fulle navnet slik det er trykt på eller knyttet til et betalingsinstrument, for eksempel et kredittkort. Bruk av et fullt navn-felt foretrekkes, vanligvis, fremfor å dele navnet i biter)
    • "cc-given-name" (et gitt (for)navn som oppgitt på et betalingsinstrument som et kredittkort)
    • "cc-additional-name" (et gitt (mellom)navn som oppgitt på et betalingsinstrument som et kredittkort)
    • "cc-family-name" (et gitt (etter)navn som oppgitt på et betalingsinstrument som et kredittkort)
    • "cc-number" (et kredittkortnummer eller annet nummer som identifiserer en betalingsmåte, for eksempel et kontonummer)
    • "cc-exp" (en utløpsdato for betalingsmåten, vanligvis i formen "MM/ÅÅ" eller "MM/ÅÅÅÅ")
    • "cc-exp-month" (utløpsmåned)
    • "cc-exp-year" (utløpsår)
    • "cc-csc" (sikkerhetskoden for betalingsinstrumentet; på kredittkort er dette det 3-sifrede bekreftelsesnummeret på baksiden av kortet)
    • "cc-type" (type betalingsinstrument (som "Visa" eller "Master Card"))
    • "transaction-currency" (valutaen som transaksjonen skal foregå i)
    • "transaction-amount" (beløpet, gitt i valutaen spesifisert av "transaction-currency", for transaksjonen, for et betalingsskjema)
    • "language" (et foretrukket språk, gitt som en gyldig BCP 47-språktag (engelsk))
    • "bday" (en fødselsdato, som en fullstendig dato)
    • "bday-day" (dagen i måneden for en fødselsdato)
    • "bday-month" (måneden i året for en fødselsdato)
    • "bday-year" (året for en fødselsdato)
    • "sex" (en kjønnsidentitet (som «Kvinne», «Annet med spesifisering», «Mann» med flere), som fritekst uten linjeskift)
    • "tel" (et fullstendig telefonnummer, inkludert landskode) Hvis du trenger å dele opp telefonnummeret i dets komponenter, kan du bruke verdiene under for disse feltene:
      • "tel-country-code" (landskode/retningsnummer, som for eksempel +47 for Norge)
      • "tel-national" (hele telefonnummeret uten landskodekomponenten, inkludert et landsinternt prefiks. For telefonnummeret "1-855-555-6502" vil dette feltets verdi være "855-555-6502")
      • "tel-area-code" (retningsnummeret, med et eventuelt landsinternt prefiks brukt hvis det er aktuelt)
      • "tel-local" (telefonnummeret uten land- eller retningsnummer. Denne kan deles videre i to deler, for telefonnumre som har et sentralnummer og deretter et nummer i sentralen. For telefonnummeret "555-6502", bruk "tel-local-prefix" for "555" og "tel-local-suffix" for "6502")
      • "tel-extension" (en telefonlinjekode i telefonnummeret, for eksempel et rom- eller suitenummer på et hotell eller et kontortillegg i en bedrift)
    • "impp" (en URL for instant messaging protocol endpoint, for eksempel "xmpp:brukernavn@eksempel.net")
    • "url" (for eksempel en hjemmeside eller bedriftsnettstedadresse, alt ettersom gitt konteksten til de andre feltene i skjemaet)
    • "photo" (URL-en til et bilde som representerer personen, selskapet eller kontaktinformasjonen som er oppgitt i de andre feltene i skjemaet)

    Eksempel på feil

    Skjemafelt som er listet opp i kapittel 7 i WCAG 2.1 mangler autocomplete-attributt med rett innhold, eller skjemafeltene er kodet med type-attributtet i stedet.

    Kommentar

    I HTML brukes type-attributtet, men dette er ikke en tilstrekkelig måte å identifisere inndataformålet på.

    For eksempel finnes input type="tel", input type="email", eller input type="password", men dette er uspesifikke kategorier for å beskrive hvilken type inndata det er snakk om, men ikke nødvendigvis formålet med inndataen. Input type="tel" gjelder alle telefonnummer, og sier ikke spesifikt om det er fasttelefon eller mobilnummer.