Alle har støtt på skjemaer på et tidspunkt. Tidligere var disse stort sett papirskjemaer. I dag er de i økende grad digitale, ettersom de forenkler brukerinteraksjon med nettsteder. Enten det er snakk om kommunikasjon på nett eller bestilling av en vare, er de allestedsnærværende. Selv internettsøk, for eksempel ved bruk av Google, påvirkes. Det er vanskelig å fylle ut disse skjemaene for personer med fysiske eller kognitive funksjonsnedsettelser, samt for blinde og svaksynte. For at alle skal kunne delta i det offentlige liv, må disse skjemaene utformes slik at de er tilgjengelige. Men hvordan lager man egentlig tilgjengelige skjemaelementer?
Det finnes ulike teknikker for dette. Før man går dypere inn i disse teknikkene, er det imidlertid viktig å forstå formelementene. Disse kan kategoriseres i ulike typer. Blant annet finnes følgende typer:
- enlinjede inndatafelt
- flerlinjers inndataområder
- Utvalgslister
- Radioknapper
- Avmerkingsbokser
- Send/Avbryt-knapper
Merking av skjemafelt
For å oppnå tilgjengelighet i skjemaer må de ulike kontrollene merkes. Disse etikettene gjør det mulig for hjelpeteknologier å gjenkjenne kontrollenes funksjoner og kommunisere dem til brukeren. Det er avgjørende at etikettene er tydelig koblet til kontrollene, ellers vil ikke skjermlesere kunne opprette en forbindelse til elementene. Dette fører til at brukerne har problemer med å forstå skjemaet. De kan ikke se hvilken informasjon som må legges inn i hvilke felt. Følgelig kan de ikke fylle ut skjemaet riktig og gjør ofte feil. Etikettene er imidlertid ikke alle like. Den avgjørende faktoren er om de skal være synlige for alle eller ikke. Derfor skiller HTML-programmeringsspråket mellom `label`-elementet og `aria`-attributtene. `label`-elementet brukes til inndatafelt, rullegardinlister, radioknapper og avmerkingsbokser og må plasseres deretter. For inndatafelt og rullegardinlister plasseres etiketten foran kontrollen. For radioknapper og avmerkingsbokser plasseres den imidlertid etter kontrollen. For at etikettene skal kunne kobles til det tilsvarende elementet, må også for-attributtet legges til.
Attributtet `aria` brukes i HTML for knapper. Knapper kan for eksempel representere send eller avbryt i et skjema. `aria`-attributter gjør beskrivelsene av de respektive elementene gjenkjennelige bare for hjelpeteknologier. De kan derfor også brukes for inndatafelt som bare skal være synlige for skjermlesere. Det finnes mange `aria`-attributter som brukes for å forbedre tilgjengeligheten på nettet. Disse varierer imidlertid i type og funksjon. `aria`-attributtet brukes til å merke et element. Det er selvfølgelig også mulig å bruke samme etikett for flere elementer. Dette er muliggjort av `aria` labeledby.
Felt for én og flere linjer
Inndatafelt er blant de mest brukte elementene i skjemaer. De kan være enlinjede eller flerlinjers. Enlinjede felt brukes til korte spørringer, for eksempel en persons navn, e-postadresse, gateadresse eller by.
De genereres i HTML ved hjelp av input-taggen og type-attributtet.
Ytterligere attributter kan legges til, for eksempel å definere linjelengden.
Flerlinjede felt brukes vanligvis for større tekstområder, for eksempel tekstmeldinger. Disse opprettes ved hjelp av `textarea`-taggen. Også her kan utvikleren definere antall linjer og linjelengden. For å sikre at disse feltene er tilgjengelige, må imidlertid `label`-taggen legges til. Det er ikke mulig å opprette en forbindelse mellom etiketten og elementene hvis de ikke er unikt tilknyttet. I slike tilfeller må de kobles ved hjelp av `for`-attributtet og `id`-attributtet. Følgende HTML-eksempel implementerer enkle etiketter i slike inndatafelt.
<label for=“vorname“>Ihr Vorname: </label>
<input type“text“ name=“vorname“ id=“vorname“ />
<br />
<label for=“nachricht“>Ihre Nachricht: </label>
<textarea name=“nachricht“ id=“nachricht“> </textarea>
Først opprettes et enlinjet inndatafelt for fornavnet, av typen «tekst». Etiketten «Ditt fornavn:» gjøres synlig for alle som bruker label-elementet. Denne etiketten plasseres før inndataelementet fordi den vises før inndatafeltet. Attributtet `for` i label-taggen og `id`-attributtet i inndataelementet kobler disse seksjonene sammen. Det er avgjørende at begge innholdene er identiske, ellers kan de ikke kobles sammen. Attributtet `name` fungerer som en identifikator for dette feltet og er nødvendig for å overføre dataene til en server.
Deretter opprettes et flerlinjers inndataområde ved hjelp av «textarea»-taggen. Etiketten «Din melding:» vises deretter her via label-elementet. Igjen er de to områdene med samme tekstinnhold koblet sammen ved hjelp av attributtene for og id.
Generell informasjon
Generelt sett bør skjemaer være klare og utvetydige. Forutsigbarhet er også svært nyttig, slik at brukerne raskt kan forstå hva som kreves av dem. En tydelig og logisk struktur er også avgjørende. Relaterte innholdselementer kan grupperes, og logisk separate enheter kan visuelt skilles ut for å forbedre orienteringen. De kan også differensieres etter farge. Det er viktig å opprettholde et minimumskontrastforhold på 4,5:1.
Tastaturbetjening
En av de viktigste funksjonene for tilgjengelig skjemadesign er brukervennlighet på tastaturet. Noen kan ikke bruke mus på grunn av en funksjonshemming. Derfor er det avgjørende å designe skjemaer slik at de også kan navigeres ved hjelp av tastaturet. Bruk av etikettelementer og aria-attributter gjør skjemaer enklere å forstå og bruke. En annen måte å forenkle tastaturnavigasjon på er å bruke hurtigtaster. Skjemaelementer kan tilordnes tastekombinasjoner. Dette kan hjelpe brukere med å få tilgang til bestemte områder eller betjene funksjoner raskere. Dette oppnås ved hjelp av `accesskey`-attributtet i HTML. Dette attributtet settes inn i elementet det skal brukes til. Tasten som deretter skal brukes til tastaturkommandoen tilordnes ganske enkelt der. Hvis du for eksempel tilordner "n"-tasten til et felt eller en knapp, kan den betjenes i Windows ved hjelp av hurtigtasten (Alt + n).
Man må imidlertid sørge for at denne hurtigtasten ikke allerede brukes til en annen kommando i nettleseren.
Reduksjon til minimum
Det er også lurt å redusere skjemaet til det essensielle for å unngå unødvendige byrder på funksjonshemmede. Derfor bør bare de absolutt nødvendige dataene etterspørres. Man bør unngå å be om data som allerede finnes. I tillegg kan synligheten av skjemafeltene tilpasses situasjonen. Valgfrie inndatafelter eller felt som er betingede trenger ikke å være synlige. De kan vises ved behov. For eksempel gir det ingen mening å spørre om barns alder hvis det allerede er valgt at det ikke er barn.
Hjelp og feilmeldinger
I tillegg bør det tilbys hjelp med inndata. Dette kan være i form av en dialogboks eller et verktøytips. Dette kan gi ytterligere forklaring på inndataprosessen. Et annet alternativ ville være å lenke til en dedikert hjelpeside. Dette ville øke suksessraten betydelig. Imidlertid kan feil fortsatt oppstå. I slike tilfeller er meningsfulle feilmeldinger avgjørende. Hvis for eksempel passordet skrives inn feil under pålogging, skal ikke meldingen "Brukernavn eller passord er feil" vises. Det er bedre å filtrere feilmeldingen. Den riktige meldingen ville være: "Passordet du skrev inn er feil. Vennligst skriv inn riktig passord."
Det finnes forskjellige typer feil. For det første er det formatfeil. Dette skjer når passordet skrives inn i feil format. For eksempel skrives bokstaver inn i stedet for tall. Verdifeil kan også oppstå. Dette kan skje hvis en feil verdi skrives inn til tross for riktig format. Et eksempel på dette ville være å skrive inn verdien 34 for en dag i datoen. Meldingen ville da for eksempel lyde: «Mars måned har 31 dager. Vennligst skriv inn dagen på nytt.»
En annen type feil er ugyldig inndata. Her spesifiserer utvikleren verdier som er ugyldige. Til slutt er det feilen som oppstår når ingen informasjon er skrevet inn i obligatoriske felt. Dette skjer for eksempel hvis e-postadressen er et obligatorisk felt og informasjonen er utelatt. Dette skjer også ofte med vilkårene og betingelsene. På mange nettsteder kan du ikke fortsette uten å godta disse vilkårene.
Obligatoriske felt
Skjemaer inneholder ofte obligatoriske felt. Disse må merkes som sådan. Et vanlig symbol for å indikere et obligatorisk felt er en stjerne (*) som vises ved siden av skjemafeltet. I dette tilfellet bør det imidlertid angis i begynnelsen av skjemaet at feltene merket med en stjerne er obligatoriske. Et annet alternativ er å vise disse obligatoriske feltene i en annen farge eller nyanse. Disse alternativene er imidlertid ikke tilgjengelige for alle. For å sikre at skjermleserbrukere også kan gjenkjenne dem, bør attributtet `obligatorisk` eller `aria-obligatorisk` brukes. Dette forteller skjermleseren at det er et obligatorisk felt.
Plassholder
En måte å gjøre skjemaer mer forståelige og brukervennlige på er å bruke plassholdere i skjemafelt. Plassholdere er midlertidig tekst som vises i et skjemafelt for å indikere for brukeren hva slags informasjon som skal skrives inn. Denne teksten forsvinner så snart skjemafeltet klikkes eller fokuseres, og kan deretter erstattes av det faktiske innholdet i skjemafeltet. Plassholdere kan enkelt settes inn i HTML-inndataelementet i et skjemafelt ved hjelp av attributtet `placeholder`.
Lagre oppføringer
Alle brukere bør ha muligheten til å lagre oppføringene sine. Lengre skjemaer forårsaker ofte problemer. For å forhindre datatap anbefales det å lagre skjemaet. En knapp kan implementeres for å lagre gjeldende status. Dette forenkler utfyllingen av komplekse skjemaer. Det gjør det også mulig å legge til manglende informasjon senere. Gjentatte oppføringer kan avskrekke noen brukere fra å fullføre skjemaet, noe som kan være frustrerende for både nettstedsoperatører og brukere.
Autentisering og tidsbegrensning
Autentisering øker sikkerheten på nett. Det er imidlertid også en av de tilbakevendende barrierene. Disse forekommer ofte på nettsteder som krever innlogging. For å sikre tilgjengelighet for alle, må skjemaer utformes slik at de er barrierefrie. I mange tilfeller er autentiseringsprosedyrer tidsbegrensede, noe som gir brukerne svært lite tid til å logge inn – ofte bare 30 eller 60 sekunder. For mange funksjonshemmede er ikke dette nok tid. Derfor er det avgjørende å ikke begrense innloggingstiden.
Et annet problem er CAPTCHA-er. Disse er utformet for å identifisere brukeren som et menneske, ikke en datamaskin. Brukere blir bedt om å identifisere et forvrengt bilde og skrive inn svaret i et skjemafelt. Ofte må imidlertid brukerne klikke på alle bildene, for eksempel de som viser en bil. Disse bildene er ikke alltid tilgjengelige. Blinde eller svaksynte kan ikke gjenkjenne dem. For å overvinne denne barrieren bør det tilbys et lydalternativ.
Oppsummert er tilgjengelig design av skjemafelt et viktig skritt mot et tilgjengelig digitalt miljø. Bruk av riktige etiketter, et tydelig og strukturert oppsett, tastaturnavigasjon og passende feilmeldinger øker sannsynligheten for at personer med funksjonsnedsettelser vil kunne fylle ut skjemaene selvstendig.

