4.1.2 Nimi, rooli, arvo
Kriteeri (taso A)
Kaikkien käyttöliittymäkomponenttien (mukaan lukien lomake-elementit, linkit ja skriptien tuottamat komponentit) nimi ja rooli voidaan selvittää ohjelmallisesti; tilat, ominaisuudet ja arvot, jotka käyttäjä voi asettaa, voidaan myös asettaa ohjelmallisesti; ja tieto näiden muutoksista on asiakasohjelmien saatavissa, mukaan lukien avustavat teknologiat.
Huomautus: Tämä onnistumisen kriteeri on ensisijaisesti tarkoitettu web-kehittäjille, jotka toteuttavat tai skriptaavat itse käyttöliittymäkomponentteja. Esimerkiksi standardit HTML-elementit täyttävät jo tämän onnistumiskriteerin, kun niitä käytetään spesifikaation mukaisesti.
Kuvaus
Onko kaikki käyttöliittymäkomponentit toteutettu niin, että niitä voidaan käyttää ohjelmallisesti? Kriteeri täyttyy automaattisesti, jos käytetään HTML-/XHTML-määrityksen mukaista koodia.
Huomioitavaa: Tämä kriteeri kohdentuu lähinnä tilanteisiin, joissa sivustolle on toteutettu käyttöliittymäkomponentteja esimerkiksi skriptaamalla. Kaikissa tilanteissa on varmistuttava siitä, että nämä komponentit antavat riittävästi tietoa käytettävälle avustavalle teknologialle ja antavat tämän tekniikan kontrolloida itseään. Käyttöliittymäkomponenttien on täytettävä seuraavat ehdot:
- Niiden nimi ja rooli voidaan selvittää ohjelmallisesti.
- Käyttäjän asettamat tilat, ominaisuudet ja arvot voidaan asettaa ohjelmallisesti.
- Tieto muutoksista on asiakasohjelmien saatavissa.
Esimerkiksi:
- Fokuksen tila tai sen muutos ilmoitetaan.
- Lomakkeen valintaruudun tai napin tilan muutos ilmoitetaan.
- Kaikilla käyttöliittymäkomponenteilla on ohjelmallisesti määritettävä nimi.
Miten tarkistetaan
Ohjelmallisesti luoduissa/muokatuissa käyttöliittymäkomponenteissa on usein syytä käyttää WAI-ARIAa. Esimerkiksi: Sivulla on linkki, joka näyttää divillä toteutetun pop upin. Pop upin sulje-elementti on toteutettu button-elementtinä (napin sisältönä vain kirjain X). Käytetään WAI-ARIAn ”aria-label” -attribuuttia tarjoamaan käyttäjälle napin nimi ja rooli:
<button aria-label=”Sulje popup” onclick=”document.getElementById(popup).style.display=’none’;” class=”closebutton”>X</button>.