Siirry sisältöön
SilktideOhje

Kielletty ARIA-attribuutti

Silktide tarkistaa, että jokainen sivujesi ARIA-attribuutti on sellainen, jota kyseisen elementin rooli todella tukee. Attribuutit, joita rooli ei tue, sekä attribuutit, jotka eivät kuulu lainkaan ARIA-standardiin, jätetään selaimissa huomiotta – tekijän tarkoittama toiminta ei koskaan toteudu.

<!-- Ongelma: aria-checked ei tarkoita painikkeessa mitään -->
<button aria-checked="true">Lihavointi</button>

<!-- Korjaus: käytä roolia, joka tukee tarvitsemaasi tilaa -->
<button role="switch" aria-checked="true">Lihavointi</button>

Miksi tällä on merkitystä

Jokainen -rooli tukee tiettyä joukkoa tiloja ja ominaisuuksia, ja selaimet hylkäävät kaiken, mikä ei kuulu tähän joukkoon. Sivun koodi näyttää tällöin oikealta koodikatselmoinnissa, mutta käyttäjät eivät saa mitään: valitsin, jonka tilaa ei koskaan ilmoiteta, tai kuvaus, jota ei koskaan lueta. Tämä luokka havaitsee myös kirjoitusvirheet attribuuteissa, kuten aria-lable – haitallisimman tapauksen, koska tekijä uskoo tunnisteen olevan olemassa, mutta käyttäjä ei saa sitä.

Korjaaminen

  1. Korjaa väärin kirjoitetut attribuuttien nimet (aria-lable pitäisi olla aria-label, aria-labeledby pitäisi olla aria-labelledby).
  2. Jos attribuutti on oikein mutta sitä ei tueta, vaihda elementin rooliksi sellainen, joka tukee sitä, tai harkitse, tarjoaako natiivi -elementti jo tarvittavan toiminnallisuuden.
  3. Jos attribuutista ei ole mitään hyötyä, poista se.

Näin Silktide testaa tämän

  1. Etsi sivulta jokainen elementti, jolla on vähintään yksi aria- attribuutti.
  2. Määritä kyseiselle elementille kelvollisten ARIA-attribuuttien joukko: kaikkialla toimivat globaalit attribuutit (kuten aria-label ja aria-hidden) sekä elementin roolin tukemat attribuutit. Kun role-attribuutissa luetellaan useita rooleja, elementin rooli on ensimmäinen ARIA 1.2:n määrittelemä rooli, kuten selaimissa. Lomakekentät, joilla ei ole ARIA-roolia, kuten salasana-, päivämäärä- ja tiedostosyötteet, käyttävät niille sallittuja attribuutteja, jotka ARIA in HTML määrittää. <input> ilman type-attribuuttia tai tyypillä, jota selaimet eivät tunnista, lasketaan tekstisyötteeksi. Taulukon otsikkosolu (<th>) on sarakeotsikko tai riviotsikko: sen scope-attribuutti määrää tämän, tai sen puuttuessa se, sisältääkö sen rivi myös tietosoluja. Tietosolu (<td>) on solu tai ruudukossa ruudukkosolu.
  3. Ilmoita attribuuttien nimet, jotka eivät kuulu ARIA 1.2:een – yleensä kirjoitusvirheet.
  4. Ilmoita tunnistetut attribuutit, joita käytetään elementillä, jonka rooli ei tue niitä, tai jotka edellyttävät roolia, jota elementillä ei ole.

Vanhentuneet attribuutit ilmoitetaan erikseen kohdassa Deprecated ARIA attribute, ja attribuuttien arvot vahvistetaan kohdassa Invalid ARIA attribute value.

Vianmääritys

Attribuutti toimii testauksessani

Jotkin ruudunlukijan ja selaimen yhdistelmät sietävät epästandardia yhdistelmiä, jotka muut hylkäävät. Standardin noudattaminen tekee toiminnasta ennakoitavaa kaikessa avustavassa teknologiassa, jota et voi testata.

Lisätietoja

Viimeksi päivitetty

Oliko tästä sivusta apua?