Kelvolliset kenttäotsikkojen tunnukset
Silktide tarkistaa lomakekenttien otsikot, jotka nimeävät kenttänsä tunnuksen avulla, ja varmistaa, että tunnus on sivulla olemassa ja kuuluu elementille, jolla voi todella olla kenttäotsikko. Kenttäotsikko, joka osoittaa olemattomaan kohteeseen tai vääränlaiseen elementtiin, jättää kentän huomaamatta nimeämättömäksi.
<label> yhdistetään lomakekenttäänsä asettamalla kenttäotsikon for-attribuutin arvoksi kentän id. Yhteys katkeaa, jos tunnus kirjoitetaan väärin, kentän tunnus muuttuu tai kohde ei ole lainkaan lomakekenttä.
<!-- Ongelma: elementtiä, jonka id="fullname", ei ole olemassa -->
<label for="fullname">Koko nimi</label>
<input type="text" id="full-name">
Miksi tämä on tärkeää
Kenttäotsikon avulla ilmoittaa kentän. Kun for-viittaus on rikki, kenttäotsikko ja kenttä ovat kaksi toisiinsa liittymätöntä elementtiä: kävijä kuulee nimeämättömän tekstinsyöttökentän ja joutuu arvaamaan, mitä siihen kuuluu kirjoittaa. Mikään ei muutu visuaalisesti – kenttäotsikko on edelleen kenttänsä vieressä – joten tällaiset virheet jäävät huomaamatta, kunnes yhteydestä riippuvainen henkilö yrittää käyttää lomaketta.
Korjaaminen
- Etsi kenttä, jota varten kenttäotsikko on tarkoitettu, ja varmista, että kenttäotsikon
for-arvo vastaa täsmälleen kentänid-arvoa (tunnuksissa kirjainkoko merkitsee):
<!-- Korjattu: viittaus vastaa kentän id:tä -->
<label for="full-name">Koko nimi</label>
<input type="text" id="full-name">
- Jos kenttäotsikko osoittaa kohteeseen, jolla ei voi olla kenttäotsikkoa – esimerkiksi mukautettuna kontrollina toimivaan
<div>-elementtiin – käytä sen sijaan : anna elementillearia-labelledby, joka osoittaa takaisin sen nimeävään tekstiin. - Jos kenttäotsikko on ylimääräinen eikä sille ole kenttää, poista se.
Miten Silktide testaa tämän
- Etsi jokaiselta sivulta kaikki
<label>-elementit, joilla onfor-attribuutti. - Etsi elementti, რომლის
idvastaafor-arvoa. - Ilmoita kenttäotsikosta, jos tällaista elementtiä ei ole olemassa.
- Jos se on olemassa, ilmoita kenttäotsikosta, jos kohde ei ole nimettävä lomake-elementti – painike, syöttökenttä (muu kuin piilotettu), avattava luettelo, tekstialue, mittari, tuloste tai edistymispalkki.
Vianmääritys
Kenttä lisätään komentosarjoilla
Silktide tutkii jokaisen sivun sellaisena kuin se on renderöity. Jos kohdekenttä on olemassa vain sivun joissakin tiloissa – esimerkiksi paneelin avaamisen jälkeen – kenttäotsikon kohde voi puuttua testauksen aikana. Harkitse kenttäotsikon ja sen kentän renderöintiä yhdessä.