Denne artikkelen dukket først opp i nummer 235 av .net magazine - verdens mest solgte magasin for webdesignere og utviklere.
Nå er du kjent med ARIA landemerkeroller som Søk, hoved- og navigasjon. De identifiserer formålet med en del av innholdet på en side, slik at folk som bruker hjelpeteknologier (ATs), som skjermlesere, får tilgang til informasjon som er åpenbar for seende mennesker med et øyeblikk. Rollen til applikasjon gjør litt mer enn å fungere som et landemerke på siden: det får ATs til å endre måten de oppfører seg på, så det er viktig å forstå konsekvensene av å bruke det først.
De applikasjon rolle forteller at AT skal behandle delen av siden som et skrivebordsprogram, snarere enn som en vanlig webside. For å forstå hva dette betyr, er det nødvendig å se på måten mange skjermlesere håndterer nettsider.
Når en side lastes inn i nettleseren, tar noen Windows-skjermlesere en kopi av siden og lagrer den i en virtuell buffer. Det er denne kopien av siden brukeren kommuniserer med. Dette er kjent som “bla gjennom” eller “virtuell markør” -modus, og gjør det mulig å gå på siden ved hjelp av piltastene, og for å snakke semantisk informasjon om innholdet.
En annen effekt av den virtuelle bufferen er at visse tastetrykk fanges opp av AT i stedet for å bli sendt videre til nettleseren. Dette muliggjør navigering etter overskrifter, lister og andre HTML-funksjoner. Når det er nødvendig at tastetrykk overføres til nettleseren, påkaller disse skjermleserne en annen modus, kjent som 'skjema' eller 'fokus' -modus.
Det er verdt å merke seg på dette tidspunktet at Mac OS / iOS AT-er ikke bruker denne interaksjonsmodellen. Når role = "applikasjon" på den plattformen, blir den behandlet på samme måte som alle andre ARIA-landemerkeroller.
Når du søker role = "applikasjon" til et element får det skjermlesere som bruker bla / virtuell markørmodus automatisk til å påkalle skjemaer / fokusmodus, og behandle innholdet i beholderen som et skrivebordsprogram i stedet for en webside. Enda viktigere, det er ikke lett for skjermleserne å gå tilbake til bla-modus når skjemaer / fokusmodus er utløst av role = "applikasjon".
Dette stiller spørsmålet: når skal (eller ikke) role = "applikasjon" bli brukt? Hvis du bruker standard HTML5-elementer, trenger du ikke å bruke role = "applikasjon". Dette inkluderer overskrifter, avsnitt, lenker, lister og skjemafelt. Det samme gjelder hvis du bruker sammensatte widgets laget av standard HTML-elementer og merket med andre passende ARIA-roller; for eksempel glidebryteren, treview eller alarmdialog. ATs vet hvordan de skal håndtere disse tingene allerede.
Hvis du bruker mashup-moduler som er ment å oppføre seg som et skrivebordsprogram, kan det være aktuelt å bruke det role = "applikasjon". Sannheten er at tidene da du virkelig trenger å bruke den, vil være få og langt mellom. Et av de få eksemplene der role = "applikasjon" brukes riktig og effektivt er Yahoo-nettpost. Den bruker en kombinasjon av role = "applikasjon" og role = "dokument" for å etterligne oppførselen til en stasjonær e-postklient.
Oppdag 60 fantastiske eksempler på HTML5 på søstersiden vår, Creative Bloq.