Saavutettavuutta tarkastelevat automaattityökalut ovat nopeita, toistettavia ja helposti liitettävissä osaksi kehityksen arkea. Ne eivät kuitenkaan pysty täysin arvioimaan, voiko käyttäjä oikeasti hoitaa asiansa palvelussa. Automaattityökalut näkevät vain palvelun rakenteen, eivätkä käyttäjän kokemusta ja siksi niiden kyky arvioida palvelun todellista saavutettavuutta on rajallinen. Esimerkiksi omien auditointiemme perusteella kokemuksemme on, että työkalut löytävät vain noin 15 prosenttia kaikista raportoiduista saavutettavuuspuutteista. Virheetön tulos automaattityökalulla ei siis tarkoita virheetöntä verkkosivua. Jotta automaattitestejä pystyy hyödyntämään parhaalla mahdollisella tavalla, on niiden rajoitukset tärkeää tuntea.
Huom! Tässä postauksessa “automaattityökaluilla” tarkoitetaan perinteisiä saavutettavuustarkistimia, jotka analysoivat sivun koodia ja rakennetta ja vertaavat havaintoja WCAG:n kriteereihin ja parhaisiin saavutettavuuskäytäntöihin.
Suosittuja automaattityökaluja ovat esimerkiksi:
- WAVE
- axe DevTools
- QualWeb
- Lighthouse.
Millaisia virheitä automaattityökalut löytävät hyvin?
Tiivistetysti voi sanoa, että automaattityökalut toimivat tehokkaana haavina rakenteellisille ja yksiselitteisille virheille, jotka näkyvät suoraan koodista. Tässä tyypillisiä virheitä, joita eräs yleisesti käytetty automaattityökalu löytää:
1. Puuttuvat tekstivastineet ja saavutettavat nimet
Automaattityökalut osaavat napata hyvin tilanteet, joissa elementeiltä puuttuu käyttäjälle luettava nimi tai tekstivastine. Tyypillinen esimerkki on ikonipainike: sivulla on poistopainike, jossa on ainoastaan roskakorin kuvake. Visuaalisesti painikkeen tarkoitus on pääteltävissä, mutta ruudunlukijalla painikkeen tarkoituksesta ei saa selkeää tietoa, jos sille ei ole erikseen asetettu saavutettavaa nimeä.
Automaattityökalu pystyy tunnistamaan, kun interaktiivisilta elementeiltä puuttuu vaadittu saavutettava nimi. Samaan tapaan se löytää myös kuvat, joilta puuttuu alt-attribuutti. On kuitenkin hyvä muistaa, että automaattityökalut eivät välttämättä havaitse tapauksia, joissa alt-attribuutti on teknisesti olemassa mutta tyhjä, vaikka kuva tosiasiassa vaatisi tekstivastineen. Tämä on hyvä tiedostaa erityisesti siksi, että sisällönhallintajärjestelmät voivat lisätä kuville automaattisesti tyhjän alt-attribuutin, mikä voi antaa virheellisen kuvan tekstivastineen olemassaolosta.
2. Liian heikko tekstikontrasti
Jos tekstikontrasti on liian heikko, on tekstiä haastavaa lukea esimerkiksi kirkkaassa valossa. Automaattityökalut huomaavat tekstikontrastin puutteet hyvin silloin, kun tilanne on selkeä ja staattinen: teksti on jatkuvasti näkyvissä, taustalla ei ole kuvaa ja kontrasti ei riipu käyttäjän tekemistä toiminnoista, kuten painikkeen painamisesta. Automaattityökalu laskee tekstin ja taustan välisen kontrastisuhteen ja liputtaa kohdat, joissa suhde jää vaaditun rajan alle.
3. Viallinen ARIA ja ristiriitainen rakenne
ARIA voi parhaimmillaan tukea saavutettavuutta silloin, kun käyttöliittymässä on elementtejä, jotka eivät luonnostaan välitä apuvälineille riittävästi tietoa. Sitä täytyy kuitenkin käyttää oikein, koska ruudunlukijat ja muut apuvälineet hyödyntävät merkintöjä palvelun rakenteen kuvailemiseen. Pienetkin ristiriidat tai puutteet rakenteessa voivat johtaa siihen, että käyttöliittymä tuntuu käyttäjälle epäloogiselta.
Tällaisia puutteita automaattityökalut löytävät hyvin: ne liputtavat esimerkiksi keskenään ristiriitaisia ARIA-määrityksiä ja muita rakenteen perusongelmia, kuten listarakenteiden virheitä.
Millaisia puutteita automaattityökalut eivät tunnista?
Monet esteet näkyvät usein enemmän käytössä kuin koodissa. Tämän takia automaattityökalun kanssa voi ajautua helposti harhaan: vaikka työkalu ilmoittaa kaiken olevan kunnossa, voi pinnan alla olla kriittisiäkin ongelmia. Tässä muutama esimerkkipuute, joita edellisessä osiossa käsitelty yleisesti käytetty automaattityökalu ei löydä.
1. Näppäimistökäytön esteet
Näppäimistökäytön testaamisessa automaattityökalut eivät tunnista kaikkea, koska ne eivät “asioi” palvelussa kuten käyttäjä, vaan katsovat pääosin rakenteita. Automaattityökalu voi vihjata riskeistä, mutta monet esteet paljastuvat luotettavasti vasta manuaalisessa testauksessa, kuten:
- eteneekö kohdistus loogisesti
- jääkö kohdistus ansaan
- onko kohdistus aina näkyvissä.
2. Palvelun ymmärrettävyys
Automaattityökalu osaa tarkistaa, että tietyt tekniset palaset ovat olemassa. Se kuitenkaan ei pysty arvioimaan, ymmärtääkö käyttäjä mitä sisältö tarkoittaa, mitä toiminto tekee ja miten palvelussa edetään.
Automaattityökalu ei esimerkiksi kerro:
- Kuvaako alt-teksti kuvan olennaisen sisällön?
- Kertooko linkkiteksti linkin kohteen kuvaavasti?
- Ovatko ohjeet riittäviä ja oikeassa kohdassa?
- Kertooko virheviesti selkeästi, mikä meni pieleen ja miten asian voi korjata?
3. Muutosten kommunikoiminen
Dynaamisissa käyttöliittymissä tapahtuu paljon ilman sivun uudelleenlatausta: palvelun hakutulokset voivat päivittyä, sisältöä voi avautua ja virheilmoituksia voi tulla näkyviin. Näkevä käyttäjä huomaa muutokset yleensä visuaalisista vihjeistä, mutta apuvälineille muutos ei välity, ellei sitä ole toteutettu oikeaoppisesti. Automaattityökalut eivät useimmiten pysty tarkistamaan, että muutos oikeasti ilmoitetaan ruudunlukijalle käyttäjän kannalta järkevällä tavalla.
Tässä esimerkkejä tilanteista, joissa automaattityökalu voi antaa virheettömän tuloksen, vaikka käyttäjä jää ilman tietoa:
- “Lisätty ostoskoriin” -vahvistus näkyy hetken näytöllä, mutta apuväline ei kerro mitään.
- Hakutulokset päivittyvät suodattamisen jälkeen, mutta apuväline ei ilmoita muutoksesta.
- Lomakkeen virheilmoitus ilmestyy kentän alle, mutta sitä ei lueta automaattisesti.
Yhdistä automaatio ja saavutettavuusauditointi
Automaattityökalut kannattaa nähdä juuri siinä roolissa, jossa ne ovat parhaimmillaan: ne pitävät saavutettavuuden kunnossa perusasioiden osalta ja auttavat ehkäisemään virheiden syntymistä kehityksessä. Ne eivät kuitenkaan korvaa saavutettavuusauditointia, koska ne eivät pysty luotettavasti arvioimaan todellista käyttäjäkokemusta ja asiointia. Siksi virheetön automaattityökalun tulos ei riitä todisteeksi siitä, että palvelu on saavutettava. Hyvin toimiva malli on yhdistää automaattityökalut jatkuvaan kehitykseen ja täydentää niitä säännöllisellä, riittävän laajalla auditoinnilla, jotta kaikki puutteet oikeasti havaitaan.
Vaikka raja automaattityökalujen ja manuaalisen arvioinnin välillä on tällä hetkellä selkeä, on syytä muistaa, että saavutettavuuden tarkastamisen keinot kehittyvät jatkuvasti tekoälyn myötä. Tämä analyysi kuvaa siten julkaisuaikansa tilannetta: tulevaisuudessa automaattiset työkalut voivat ymmärtää yhä paremmin kontekstia ja todellisia käyttötapauksia, mikä voi kaventaa nykyistä eroa arviointimenetelmien välillä.