Puuttuva aria-activedescendant-tunniste
Silktide tarkistaa sivujesi jokaisen aria-activedescendant-attribuutin ja varmistaa, että elementtitunniste, johon se viittaa, on todella olemassa. Tämä attribuutti kertoo , mikä esimerkiksi avattavan luettelon kaltaisen pienoisohjelman kohde on parhaillaan korostettuna.
<!-- Problem: no element on the page has id="opt-2" -->
<ul role="listbox" aria-activedescendant="opt-2">
<li role="option" id="opt-1">First option</li>
</ul>
Miksi tämä on tärkeää
Mukautetun avattavan luettelon, yhdistelmäruudun ja ruudukon kaltaiset pienoisohjelmat pitävät
säilössä ja käyttävät
-määrityksen aria-activedescendant-attribuuttia ilmaistakseen,
mikä niiden sisällä oleva kohde on aktiivinen. Kun viittaus osoittaa tunnisteeseen, jota ei ole
olemassa, käyttäjä ei kuule
mitään liikkuessaan vaihtoehtojen välillä – pienoisohjelmassa ei vaikuta olevan
valintaa lainkaan, joten sitä ei voi käyttää ilman näköaistia.
Näin korjaat sen
- Varmista, että attribuutti viittaa parhaillaan aktiivisen kohteen
id-tunnisteeseen, ja päivitä sitä käyttäjän liikkuessa pienoisohjelmassa. - Jos pienoisohjelma renderöi kohteensa uudelleen, varmista, että uudet kohteet säilyttävät pysyvät
tunnisteet, tai päivitä
aria-activedescendantsamassa vaiheessa. - Poista attribuutti, jos pienoisohjelmaa ei enää ole tai jos se hallitsee kohdistusta suoraan.
Näin Silktide testaa tämän
- Etsi sivulta jokainen elementti, jolla on
aria-activedescendant- attribuutti. - Tarkista, että sen viittaama tunniste vastaa jotakin sivulla olevaa elementtitunnistetta.
- Raportoi jokainen viittaus, joka ei vastaa mitään elementtiä.
Vianmääritys
Kohde luodaan myöhemmin komentosarjalla
Silktide testaa sivun sen latautuessa. Jos viitattu elementti on olemassa vasta
käyttäjän toiminnan jälkeen, viittaus on siihen asti edelleen virheellinen – aseta
aria-activedescendant vasta, kun sen kohde on olemassa.