Förenklad beskrivning av WCAG-kriteriet 1.3.5

Märk upp vanliga formulärfält i koden

Hjälp dina användare att fylla i inmatningsfält genom att i koden ange vilken typ av innehåll som förväntas. Då kan webbläsare eller hjälpmedel ibland automatiskt föreslå inmatning (baserat på till exempel tidigare inmatning i fält av samma typ) i vanliga formulärfält (såsom gatu- och postadress). Systemet kan också ytterligare hjälpa användaren genom att presentera fältet på ett sätt (till exempel med en symbol) som användaren känner igen.

Det är bra för alla användare, men kanske framför allt för personer med vissa kognitiva och motoriska funktionsnedsättningar. Det underlättar också för användare som inte behärskar språket så bra.


Rekommendationer för uppmärkning av formulärfältLänk hit

  • Använd attributet autocomplete på inmatningsfält.
  • Beskriv förväntat innehåll med attributet autocomplete, om det finns en standardiserad benämning.
  • Ange autocomplete=”off” om det gäller känslig information eller om servern erbjuder ordförslag.

Använd attributet autocomplete på inmatningsfältLänk hit

Vissa webbläsare sparar (lokalt) inmatningar som användaren gör i formulärfält. Tack vare detta kan webbläsaren ge förslag på inmatning när användaren senare hamnar på inmatningsfält som ser ut att ha samma innebörd. Google har gjort uppskattningen att användare blir ca 30% snabbare i utcheckning när autocomplete används.

Webbläsare som har autocomplete aktiverat gör sitt bästa för att förslå relevanta inmatningsförslag. De utgår till exempel från att inmatningsfält (input-element) med samma värde på attributen id eller name har samma typ av innehåll. Men så är inte alltid fallet. Med hjälp av attributet autocomplete kan du som utformar formuläret förbättra möjligheterna för webbläsaren att ge relevanta förslag.

Beskriv förväntat innehåll med attributet autocomplete, om det finns en standardiserad benämning

I HTML5-standarden finns en lista med vanliga ändamål för inmatningsfält. Om ändamålet för ditt inmatningsfält finns med i denna standardlista kan du genom att använda rätt benämning se till att de förslag som webbläsaren presenterar för användaren med större sannolikhet är relevanta.

Tanken är att det även ska finnas standardiserade (eller individualiserade) symboler för dessa olika ändamål, som webbläsaren (eventuellt med hjälp av hjälpmedel eller tilläggsprogram) kan presentera för användaren i direkt anslutning till inmatningsfältet. Än så länge känner vi dock inte till någon sådan implementation.

Inmatningsfält för telefonnummer utan autocomplete-metadata

Genom att attributet autocomplete=home tel angivits kan webbläsaren både visa en telefonsymbol, en instruktion på användarens språk, och erbjuda automatisk ifyllnad av det hemtelefonnummer användaren brukar ange.

Så här skulle ett inmatningsfält för telefonnummer kunna presenteras.

Utdrag från standardlistan, aningen förenklat och anpassat efter svenska förhållanden
Standardiserad benämning (används som värde på autocomplete-attribut) Betydelse Exempel på inmatning
”name” Fullständigt namn Sir Timothy John Berners-Lee, OM, KBE, FRS, FREng, FRSA
”given-name” Förnamn Timothy
”additional-name” Mellannamn John
”family-name” Efternamn Berners-Lee
”nickname” Skärmnamn Tim
”organization-title” Titel Professor
”username” Användarnamn timbl
”new-password” Nytt lösenord (inmatningsfält där användaren ska hitta på ett lösenord.) GUMFXbadyrS3
”current-password” Aktuellt lösenord (vid inloggning) qwerty
”organization” Namn på företag eller organisation World Wide Web Consortium
”street-address” Gatuadress (kan ha flera rader) 32 Vassar Street
MIT Room 32-G524
”address-level1” Postort MA
”country” Landkod SE
”country-name” Land Sverige
”postal-code” Postnummer 113 00
”cc-name” Namn på kreditkort Tim Berners-Lee
”cc-number” Kreditkortsnummer 4114360123456785
”cc-exp” Giltighetsdatum för kreditkort (Expiration date) 2014-12
”cc-exp-month” Månad i sista giltighetsdatum för kreditkort 12
”cc-exp-year” Årtal i sista giltighetsdatum för kreditkort 2014
”cc-csc” Säkerhetskod (CVV) på baksidan av kreditkort 419
”cc-type” Typ av kreditkort (eller annat betalningsmedel) Visa
”transaction-currency” Valutakod SEK
”transaction-amount” Penningbelopp 401
”language” Språkkod sv
”bday” Födelsedatum 1955-06-08
”bday-day” Födelsedatum – dag i månaden 8
”bday-month” Födelsedatum – månad 6
”bday-year” Födelseårtal 1955
”sex” Kön Male
”url” Webbadress https://www.w3.org/People/Berners-Lee/
”photo” Foto https://www.w3.org/Press/Stock/Berners-Lee/2001-europaeum-eighth.jpg
<kontaktväg> “tel” Telefonnummer +46 8 678 55 00
<kontaktväg> ”tel-country-code” Plustecken följt av landkod i telefonnummer +46
<kontaktväg> ”tel-national” Telefonnummer inklusive riktnummer men utan landkod 08-678 55 00
<kontaktväg> ”email” E-postadress timbl@w3.org
<kontaktväg> ”impp” chat-adress irc://example.org/timbl,isuser

<kontaktväg> betyder att det går att specificera om det gäller hem (“home”), arbete (“work”), mobiltelefon (“mobile”), fax (“fax”) eller personsökare (“pager”) genom att inleda autocomplete-attributet med motsvarande kod.

Ange autocomplete=”off” om det gäller känslig information eller om servern erbjuder ordförslag

Det är olämpligt med inmatningsförslag för inmatningsfält som kan innehålla känslig information. Risken är ju att en person som ser “över axeln” på användaren råkar få veta vad användaren tidigare matat in i liknande fält.

Det är onödigt med inmatningsförslag för inmatning som enbart ska göras en gång (till exempel engångskoder för inloggning).

Om webbservern erbjuder förslag på inmatning, baserat på information som inte hämtas från användarens webbläsare utan från en databas (se Ge ordförslag vid sökning och inmatning (R112)) så är det oftast olämpligt att även webbläsaren ger ordförslag.

I samtliga dessa fall bör värdet “off” anges i attributet autocomplete.


ExempelLänk hit

Google har publicerat en stor formulärsida som använder autocomplete på nästan alla inmatningsfält. Observera dock att de inte till 100% följer standarden. Istället för “given-name” används “fname”, och istället för “family-name” används “lname”. Detta är inte helt ovanligt, av någon anledning.

Här är exempel på hur det autocomplete kan se ut i kod:

<form >
<input autocomplete="transaction-currency" value="SEK">
<input autocomplete="transaction-amount" value="15.00">
<p><label>Kreditkortsnummer: 
<input type="text" autocomplete="cc-number"></label>
<p><label>Kortet giltigt till: 
<input type="month" autocomplete="cc-exp"></label>
<p><input type="submit" value="Fortsätt...">
</form>

Utdrag från WCAG-standardenLänk hit

Riktlinje 1.3 Anpassningsbart: Skapa innehåll som kan presenteras på olika sätt (exempelvis med enklare layout) utan att information eller struktur går förlorad.


1.3.5 Identify Input Purpose
The purpose of each input field collecting information about the user can be programmatically determined when:

(Nivå AA)


TerminologiLänk hit

Prediktiv textinmatning eller autocomplete på engelska innebär att systemet eller webbsidan baserat på pågående textinmatning kan komma med förslag på fortsättning av inmatningen.

I Skatteverkets tjänst flyttanmälan används autocomplete för att föreslå bland annat gatuadress.

Detta underlättar för den som ska fylla i till exempel sökrutor eller formulär. Funktionen är vanlig och hjälpsam i sökfunktioner där den ger användaren ordförslag vid inmatningen R112.

Kommentarer till denna riktlinje

Kommentarer (2)

  • Per skriver:

    Hej,

    Gällande postort är det inte address-level2? Då address-level1 hänvisar till provins eller stat.

    Från MDN:
    ”address-level2”
    The second administrative level, in addresses with at least two of them. In countries with two administrative levels, this would typically be the city, town, village, or other locality in which the address is located.

    ”address-level1”
    The first administrative level in the address. This is typically the province in which the address is located. In the United States, this would be the state. In Switzerland, the canton. In the United Kingdom, the post town.

    Källa:
    https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete, (2021-03-18)

    Det jag tänker på om du exempelvis i Chrome eller Edge Chromium fyller i postort så visas inte detta i auto-complete med address-level1, fungerar dock med address-level2.

    • Tommy Olsson skriver:

      Det finns tyvärr, som vanligt, utrymme för tolkning av specifikationen. Enligt avsnitt 4.10.18.7 i HTML 5.2-specifikationen är address-level1 ”den vidaste administrativa nivån i adressen”. För address-level2 står att den är ”den andra administrativa nivån i adresser med två eller flera administrativa nivåer”. I Sverige är postorten den vidaste administrativa nivån i en adress, eftersom vi inte specificerar län i våra adresser. Nivå två skulle då vara gatuadress, postlåda, boxadress eller liknande.

      Att Blink-baserade webbläsare som Chrome och Edge anser att ort är nivå 2 beror troligen på att de är amerikanska produkter. I USA är delstaten den vidaste nivån i adresser.

      Det vore intressant att höra fler åsikter om hur den här delen av HTML-standarden ska tolkas för svenskt vidkommande.


Om denna riktlinje

Den är relevant för DOS-lagen.

Status på vår webbplats


(Då uppdateras status i checklistorna.)

Om WCAG

WCAG (Web Content Accessibility Guidelines) är den standard som bland annat webbdirektivet och DOS-lagen bygger på. Se sidan Följ standarder för tillgänglighet.

WCAG 2.1 saknar ännu svensk översättning, men för de formuleringar som är identiska i version 2.0 och 2.1 citeras den officiella översättningen av version 2.0. Utdraget kan dock innehålla fel. Den version som är mest giltig vid uttolkning är det engelskspråkiga originalet på W3C:s webbplats.

Där finns även de officiella förklaringarna och lösningsförslag till riktlinjen (på engelska).