Siirry sisältöön
SilktideOhje

Virheellinen ARIA-attribuutin arvo

Silktide tarkistaa jokaisen sivujesi ARIA-attribuutin arvon verraten sitä standardin sille sallimiin arvoihin. Selain jättää virheellisen arvon sisältävän attribuutin huomiotta, kuten valintaruudun tilan "yes" arvon "true" sijaan, joten sen kuvaamaa tilaa ei koskaan ilmoiteta.

<!-- Ongelma: "yes" ei ole kelvollinen arvo, tila jätetään pois -->
<div role="checkbox" aria-checked="yes">Tilaa</div>

<!-- Korjaus: käytä määritettyä tokenia -->
<div role="checkbox" aria-checked="true">Tilaa</div>

Miksi tämä on tärkeää

Jokainen -attribuutti määrittää tarkasti, mitkä arvot se hyväksyy, ja selaimet hylkäävät kaiken muun arvaamisen sijaan. Virheet ovat yleensä intuitiivisilta vaikuttavia arvoja, kuten aria-expanded="1", aria-checked="yes" ja aria-level="0", jotka läpäisevät kaikki visuaaliset testit, vaikka käyttäjät saavat käyttöönsä ohjausobjektin, jonka tilaa ei ilmoiteta: valikon, joka ei koskaan kerro, onko se avoinna, tai valintaruudun, joka ei koskaan kerro, onko se valittu.

Korjaaminen

  1. Korvaa vapaamuotoiset arvot attribuutin määrittämillä tokeneilla: käytä arvoja true ja false arvojen yes, no, 1 tai 0 sijaan.
  2. Tarkista numeeriset attribuutit: laskentaattribuutit, kuten aria-level ja aria-rowindex, alkavat arvosta 1, eivät 0:sta.

Kunkin attribuutin tarkat sallitut arvot on lueteltu MDN:n ARIA-attribuuttiviitteessä.

Miten Silktide testaa tämän

  1. Etsi sivulta jokainen elementti, jolla on vähintään yksi aria-- attribuutti.
  2. Tarkista jokaisen attribuutin arvo sen tyypin perusteella, jonka ARIA 1.2 sille määrittää: true/false-attribuutit, kolmitilaiset attribuutit, kuten aria-checked ja aria-pressed (true, false, mixed tai undefined, joka tarkoittaa, ettei tilaa ole asetettu), luvut ja kokonaisluvut sekä kiinteitä sanaluetteloita käyttävät attribuutit, kuten aria-live ja aria-current.
  3. Ilmoita jokainen arvo, joka ei ole vaatimusten mukainen, ja kerro, mitä odotettiin.

Tyhjäksi jätettyä attribuuttia, kuten arvotonta aria-live-attribuuttia, ei ilmoiteta tässä. Selaimet jättävät tyhjän arvon huomiotta, joten attribuutti käyttäytyy kuin sitä ei olisi: tyhjä aria-live toimii samoin kuin off. Jos elementin rooli edellyttää attribuuttia, Puuttuva pakollinen ARIA-attribuutti ilmoittaa sen puuttuvaksi.

Elementtitunnuksiin viittaavat attribuutit testataan omilla tarkistuksillaan, kuten Puuttuva aria-controls-tunnus, ja vapaamuotoiset tekstiattribuutit, kuten aria-label, hyväksyvät minkä tahansa tekstin.

Vianmääritys

Arvo asetetaan kehyksessä

Komponenttikirjastot sarjoittavat toisinaan tilat virheellisesti (esimerkiksi luovat arvon aria-expanded="null"). Löydös osoittaa elementtiin, mutta korjaus kuuluu yleensä komponentin määrityksiin tai kirjastopäivitykseen.

Lue lisää

Viimeksi päivitetty

Oliko tästä sivusta apua?