Siirry sisältöön
SilktideOhje

Puuttuva ARIA-ylätason rooli

Silktide tarkistaa elementit, joiden ARIA-rooli on mielekäs vain tietynlaisessa säilössä, kuten välilehden, jonka on oltava välilehtiluettelon sisällä, ja varmistaa, että vaadittu säilö on olemassa.

<!-- Ongelma: välilehti ilman ympäröivää tablist-elementtiä -->
<button role="tab">Yleiskatsaus</button>

<!-- Korjaus: sijoita välilehdet niiden vaadittuun säilöön -->
<div role="tablist">
  <button role="tab">Yleiskatsaus</button>
</div>

Miksi tämä on tärkeää

Kohderoolit määritellään niiden asiayhteyden perusteella: tab on kolmas viidestä välilehdestä, option on yksi vaihtoehto luettelossa ja row on osa taulukkoa. päättelevät sijainnin, määrän ja navigointikäyttäytymisen ylätason pienoisohjelmasta. Ilman sitä kohde voidaan tunnistaa väärin, ilmoittaa ilman asiayhteyttä tai ohittaa kokonaan – tekijä on lisännyt puolet pienoisohjelmasta, eivätkä käyttäjät saa kumpaakaan puoliskoa luotettavasti käyttöönsä.

Näin korjaat sen

  1. Sijoita elementti säilöön, jolla on vaadittu rooli – sijoita esimerkiksi role="tab" -elementit role="tablist" -elementin sisään.
  2. Jos ylätason elementti ei voi koodissa fyysisesti ympäröidä lapsielementtejä, lisää loogiseen ylätason elementtiin aria-owns, jotta se omaksuu ne.
  3. Jos elementti ei todellisuudessa ole kyseisenlainen kohde, poista tai korjaa sen rooli.

Yleisiä pareja: tab tarvitsee tablist-roolin; option tarvitsee listbox-roolin; menuitem tarvitsee menu- tai menubar-roolin; ARIA-ryhmässä oleva radio tarvitsee radiogroup-roolin; treeitem tarvitsee tree-roolin; row tarvitsee grid-, table-, treegrid- tai rowgroup-roolin; solut ja otsakkeet tarvitsevat row-roolin.

Näin Silktide testaa tämän

  1. Etsi kaikki elementit, joiden ARIA-rooli edellyttää tiettyä ylätason roolia, ohittaen kaiken alueilla, jotka on merkitty data-silktide="ignore" -attribuutilla, sekä kaiken, joka vastaa verkkosivustollesi määritettyä tarkistuksen poissulkua.
  2. Kulje sen esi-isäelementit ylöspäin ja seuraa myös mahdollisia aria-owns-omaksumisia etsien elementtiä, jolla on vaadittu ylätason rooli.
  3. Raportoi elementit, joille tällaista esi-isäelementtiä ei löydy.

Vianmääritys

Ylätason rooli on elementissä, jolla on implisiittinen rooli

Natiivit elementit kelpaavat: <select>-elementin sisällä oleva <option> tai <ul>-, <ol>- tai <menu>-elementin sisällä oleva <li> ei tarvitse eksplisiittisiä rooleja, koska molemmilla on oikeat roolit implisiittisesti. Löydöksiä ilmenee, kun kohderoolia käytetään ilman soveltuvaa eksplisiittistä tai implisiittistä ylätason elementtiä.

Elementti on kolmannen osapuolen koodissa, jota et voi muuttaa

Jotkin pienoisohjelmat, kuten upotettu kartta, luovat merkinnän, jota et voi muokata. Lisää data-silktide="ignore" pienoisohjelman sisältävään elementtiin, jolloin tämä tarkistus ohittaa kaiken sen sisällä seuraavassa testissä.

Lue lisää

Viimeksi päivitetty

Oliko tästä sivusta apua?