Suksesskriterium 1.3.5 Identifiser formål med inndata (Nivå AA)
Formålet med hvert skjemaelement som samler inn informasjon om brukeren, kan bestemmes programmatisk når:
- skjemaelementet tjener et formål som er en del av punktet inndataformål for brukergrensesnittkomponenter, og
- innholdet er implementert ved hjelp av teknologier med støtte til identifikasjon av det forventede meningsinnholdet til inndata i skjema.
Hvorfor er suksesskriteriet viktig?
Det kan være slitsomt å fylle ut personopplysninger, særlig for brukere med kognitive eller motoriske utfordringer. Når skjemafeltets formål er definert i koden, kan nettlesere og hjelpemidler automatisk foreslå eller fylle inn informasjon (autofyll). Dette gjør det lettere å fylle inn skjemaet raskt og riktig.
Kun brukerens egne personopplysninger omfattes av kravet, og bare dersom personopplysningene faller inn under en av HTMLs gyldige autocomplete-verdier.
Anbefalinger
Nettlesere bruker flere faktorer for å bestemme hvilken informasjon de skal fylle skjemafeltet med. Autofyll fungerer best når flest mulig av følgende er på plass:
- Alle relevante input-felt ligger inne i et
form-element. - Skjemafeltene bruker egnet
type-attributt. - Hvert felt har et
name-attributt som samsvarer med eller er nært knyttet tilautocomplete-verdien. - Skjemaet må ha en submit-knapp (
<button type="submit">eller<input type="submit">).
For eksempel:
<form onsubmit="return false">
<input name="email" type="email" autocomplete="email"> <input name="billing_address" type="text" autocomplete="billing street-address">
<button type="submit">Send inn</button> </form>Vanlige misforståelser
Man skulle trodd at det er enkelt å slå av autofyll ved å bruke autocomplete="off" på skjemafelter eller på form-elementet. I praksis ignorerer mange nettlesere off-verdien, tilsynelatende for brukervennlighetens skyld. I tillegg bryter du kravet hvis du setter autocomplete="off" på et skjemafelt som omfattes av kravet. Dersom du har behov for å skru av autofyll, bruk en av teknikkene beskrevet i MDNs artikkel om hvordan å slå av autofyll.
Hvordan teste kravet
Kjernespørsmålet
Er alle skjemafelter som ber om brukerens personlige informasjon kodet med en gyldig autocomplete-verdi?
Innhold du må teste
Skjemafelter som ber brukeren om personlig informasjon og som samsvarer med en av HTMLs autocomplete-verdier. Dette gjelder følgende skjemaelementer:
input(med typedate,email,hidden,month,number,password,search,tel,textellerurl)selecttextarea
Testmetode
Bruk nettleserens DevTools til å inspisere de relevante skjemafeltene. Sjekk at hvert felt har en gyldig autocomplete-verdi som passer til informasjonstypen feltet ber om.
Ofte-stilte spørsmål
For brukere er det en stor fordel at autofyll brukes så vidt som mulig. Autofyll er som regel trygt og forventet, og det gir en bedre brukeropplevelse for alle. Brukeren bestemmer selv om de vil lagre og gjenbruke informasjonen. Dere bør imidlertid vurdere sikkerhet basert på konteksten løsningen brukes i. Det kan være lurt å slå av autocomplete i løsninger som brukes på kiosker eller offentlige datamaskiner.
Les mer om sikkerhet på W3Cs artikkel om HTML 5.2 autocomplete-attributter.
Nei. Kravet sier at formålet med skjemafeltet skal kunne bestemmes programmatisk, og i HTML betyr det at vi må bruke autocomplete-attributtet.
Ledetekster hjelper brukeren med å forstå hva de skal fylle inn, og type-attributtet kan forbedre brukeropplevelsen (for eksempel ved å vise riktig tastatur på mobil). Men autocomplete er den eneste måten i HTML å presist angi hvilken type personopplysninger feltet skal inneholde.
Nei, det anbefales heller å bruke de bredere autocomplete-verdiene der det er mulig. Smale og svært spesifikke felter kan være basert på kulturelt betinget antakelser om hvordan navn, adresser og annen informasjon er strukturert. For eksempel er det vanlig i noen kulturer å ha et fornavn og etternavn i en fast rekkefølge, men i andre kulturer plasseres etternavnet først eller brukes ikke i det hele tatt. Å bruke en enkelt name-verdi i stedet for separate given-name og family-name-felt kan derfor gi en mer inkluderende og fleksibel løsning.
Ja, hvis du setter autocomplete="off" på et skjemafelt som omfattes av kravet, bryter du kravet. Istedenfor autocomplete="off" kan du vurdere å bruke en annen teknikk for å skru av autofyll for feltet.
Ikke nødvendigvis. Kriteriet sier bare at skjemafelter med spesifikke typer personlig informasjon skal være programmatisk identifisert—det sier ikke at autofyll skal faktisk fungere. Dette betyr at kriteriet fortsatt kan være oppfylt selv når autofyll er slått av for hele skjemaet, så lenge autocomplete-attributtet er på plass på de relevante skjemafeltene.
Ja. Selv om skjemaet sendes via JavaScript, fungerer autofyll mest pålitelig hvis feltene er inne i et form-element med en submit-knapp (selv om knappen kan være skjult).
For å unngå uønsket navigering kan du:
- Bruke
onsubmit="return false"påform-elementet - Bruke
event.preventDefault()for å hindre standard innsending
Dersom det er umulig å bruke et form-element, bør feltene i det minste ha meningsfulle name-attributter og gyldige autocomplete-verdier for å gi nettleseren nok informasjon til å håndtere autofyll riktig.
Nei. autocomplete fungerer kun på de innebygde HTML-elementene <input>, <select> og <textarea>. Attributtet støttes ikke for egendefinerte ARIA-komponenter.
Medvirkende