axe-core
Katso myös: axe
Deque'n avoimen lähdekoodin automatisoitu saavutettavuuden testausmoottori, jota käyttävät selainlaajennukset (axe DevTools, Accessibility Insights), CI-skriptit ja Lighthouse. Havaitsee arviolta 30–40 % WCAG-ongelmista.
axe-core on Deque Systemsin kehittämä avoimen lähdekoodin automatisoitu saavutettavuuden testausmoottori. Se voimistaa laajan testaustyökalujen ekosysteemin — selainlaajennukset (axe DevTools, Accessibility Insights), CI-skriptit (axe-cli, jest-axe, cypress-axe, playwright-axe) ja erityisesti Lighthhousen saavutettavuusauditoinnin.
Viime vuosikymmenen ajan axe-core on ollut eniten käytetty automatisoitu saavutettavuuden tarkistin maailmassa. Useimmat tämän päivän tuotannossa olevat saavutettavuuteen liittyvät CI-putket käyttävät axe-corea taustalla, usein ilman että tiimi on siitä tietoinen.
Missä axe-core on vahva
axe-coren sääntöjoukko on tarkoituksella konservatiivinen: sääntö sisällytetään vain silloin, kun sen väärän positiivisen tuloksen osuus on käytännössä nolla. Tämä tekee axe-coresta luotettavan CI-portin — kun se merkitsee rikkomuksen, rikkomus on todellinen, ja tiimi voi toimia sen perusteella ilman huolta epäluotettavista tarkistuksista.
Sääntöjä, jotka axe-core havaitsee luotettavasti:
- Puuttuvat tai tyhjät tunnisteet lomake-elementeissä.
- Puuttuvat alt-attribuutit (ja ilmeisen turhat alt-tekstit, kuten tiedostonimet).
- Riittämätön värikontrasti (teksti ja käyttöliittymäkomponentit).
- Virheellinen ARIA — olemattomat roolit, puuttuvat pakolliset ominaisuudet, kielletyt lapsirakenteet.
- Päällekkäiset ID:t, jotka rikkovat ARIA-viittaukset.
- Puuttuva kieliattribuutti
<html>-elementissä. - Painikkeet ilman saavutettavaa nimeä.
- Lomakekentät ilman ohjelmallista tunnistetta.
- Tyhjät linkit (
<a href>...</a>ilman tekstiä tai alt-tekstiä). - Otsikkotasojen ohitukset ja puuttuva
<h1>joissakin konfiguraatioissa.
Tämä luettelo kattaa merkittävän osuuden helposti havaittavista saavutettavuuspuutteista. axe-coren käyttäminen CI:ssä havaitsee ne koodiarvioinnin aikana eikä vasta auditoinnin yhteydessä.
Katto
axe-coren tekijät ovat selkeitä katon suhteen: automatisoidut työkalut voivat havaita enintään 30–40 % WCAG-ongelmista. Loppuosa edellyttää inhimillistä harkintaa ja avustavan teknologian testausta.
Erityisesti axe-core ei pysty havaitsemaan:
- Virheellistä alt-tekstiä — se pystyy kertomaan, puuttuuko alt-teksti, mutta ei sitä, että
alt="hamburger icon"on väärä valikon avausnapille. - Harhaanjohtavaa linkkitekstiä — “Klikkaa tästä” -linkit ovat spesifikaation mukaisia, mutta hyödyttömiä ruudunlukuohjelman käyttäjille.
- Rikkinäistä kohdistusjärjestystä — taulukointijärjestys, joka ei vastaa visuaalista järjestystä, on WCAG 2.4.3 -rikkomus, jota mikään staattinen tarkistin ei pysty havaitsemaan.
- Virheellistä otsikkorakennetta — axe-core havaitsee puuttuvan h1-otsikon ja tasohyppäykset, mutta ei pysty kertomaan, onko sivulla käytetty h2-otsikkoa siihen, mikä olisi pitänyt olla h1.
- Sisältöä, joka toimii vain tietyille käyttäjäryhmille — WCAG:n mukainen mutta heikkonäköisille tai kognitiivisista vammoista kärsiville käyttäjille käyttökelvoton.
Sivusto, joka saa axe-coresta nolla rikkomusta, on saavutettavuuden kannalta välttämätön muttei riittävä edellytys. Jäljellä oleva työ — kohdistusjärjestys, sisällön laatu, ruudunlukuohjelman käyttäytyminen, todellisten käyttäjien testaus — on se, mihin todellisessa työssä kuluu eniten aikaa.
Miten axe-corea käytetään käytännössä
Kolme käyttöönottotapaa toimivat hyvin yhdessä:
- Editorissa. axe DevTools ja Accessibility Insights suoritetaan pyydettäessä renderöityä DOM:ia vastaan selaimen välilehdessä. Käytetään kehityksen aikana.
- CI:ssä. axe-cli, jest-axe, cypress-axe tai playwright-axe keskeyttää buildin uusien rikkomusten ilmetessä. Käytetään regressioiden estämiseen.
- Auditoinnin yhteydessä. Ulkoiset auditoijat käyttävät axe-corea lähtöpisteenä ja lisäävät manuaalisen testauksen päälle. Käytetään automaattisen peruslinjan vahvistamiseen.
Yhdistelmä pitää automaattisesti havaittavissa olevat ongelmat nollassa samalla kun todellinen saavutettavuusohjelma hoitaa lopun.