Gyldige etiket-id'er for fragmenter
Silktide tjekker formularetiketter, der henviser til et andet element via id, og rapporterer etiketter, hvis id ikke findes nogen steder på siden. En etiket, der peger på intet, kan ikke navngive noget.
I navngiver en <label> et formularfelt ved at angive
feltets id i attributten for. Dette tjek bekræfter kun, at det
refererede id findes et sted på siden – et supplerende tjek,
Gyldige etiket-id'er, går
videre og bekræfter, at målet er et formularfelt, som kan have en etiket.
<!-- Problem: intet på siden har id="food" -->
<label for="food">Yndlingsmad</label>
Hvorfor dette er vigtigt
En etiket med en brudt reference gør ingenting: En kan ikke forbinde den med noget felt, så feltet, etiketten var beregnet til, annonceres uden et navn, og et klik på etiketten sætter ikke længere fokus på det. Da siden ser uændret ud, opstår disse fejl typisk ubemærket, når id'er omdøbes, eller markup omstruktureres, og kun automatisk kontrol fanger dem.
Sådan løser du det
- Find det element, som etiketten skulle beskrive, og angiv etikettens
for-værdi til det elements præciseid(id'er skelner mellem store og små bogstaver):
<!-- Løst: etiketten peger på et rigtigt id -->
<label for="food">Yndlingsmad</label>
<input type="text" id="food">
- Hvis målelementet mangler sit
id, skal du tilføje et. - Hvis etiketten er en rest, der ikke længere beskriver noget, skal du fjerne den.
Sådan tester Silktide dette
- Find hvert
<label>-element med en ikke-tomfor-attribut på hver side. - Søg efter et element et vilkårligt sted på siden, hvis
idmatcher. - Rapportér etiketten, hvis et sådant element ikke findes.