Forðastu merki á stýringum sem ekki er hægt að merkja
Silktide framkvæmir prófun á eyðublaðsmerkjum sem vísa með auðkenni á annað stak og tilkynnir um merki sem beinast að stökum sem ættu ekki að hafa merki — hnöppum, hnappalíkum innsláttarreitum og stökum sem alls ekki er hægt að merkja. Þessi stök fá heiti sitt úr eigin texta eða gildi og sérstakt merki skapar ósamræmd heiti.
Í gefur <label> eyðublaðsreit heiti í gegnum for-eigindið. Sumar stýringar bera þó þegar sitt eigið heiti: heiti hnapps er texti hans og heiti sendingarinnsláttar er gildi hans í value. Önnur stök, svo sem venjulegt <div> eða falið innsláttarsvið, er alls ekki hægt að merkja með þessum hætti.
<!-- Vandamál: hnappurinn segir þegar „Vista“; merkið keppir við það -->
<label for="save">Vista</label>
<button id="save">Vista</button>
Hvers vegna þetta skiptir máli
Þegar stýring hefur tvær uppsprettur fyrir heiti sitt — eigin texta og merki sem vísar á hana — leysa mismunandi vafrar og úr árekstrinum á mismunandi hátt. Stýringin gæti verið lesin upp tvisvar, lesin upp með röngum texta eða hegðað sér óvænt þegar smellt er á merkið. Með því að fjarlægja óþarfa merkið heyra allir gestir nákvæmlega það sem stýringin segir.
Hvernig á að laga þetta
- Fyrir hnappa og hnappalíka innsláttarhluti skaltu fjarlægja
<label>og treysta á eigin texta stýringarinnar eðavalue-gildi hennar:
<!-- Lagfært: hnappurinn gefur sjálfum sér heiti -->
<button id="save">Vista</button>
<input type="submit" value="Senda inn">
- Ef merki vísar á falið innsláttarsvið skaltu fjarlægja merkið — falin reiti eru aldrei sýnd eða lesin upp, svo þeir þurfa ekkert heiti.
- Ef þú varst að merkja stak sem er ekki hluti af eyðublaði, svo sem
<div>sem gegnir hlutverki sérsniðinnar stýringar, skaltu nota í staðinn: gefðu stakinuaria-labelledbysem vísar á textann sem gefur því heiti.
Hvernig Silktide framkvæmir prófunina
- Finndu hvert
<label>-stak meðfor-eigindi á hverri síðu. - Leitaðu upp stakið sem hefur samsvarandi
id. Merki sem vísa á auðkenni sem eru ekki til eru sleppt hér — tilkynnt er um þau í Gild auðkenni merkja í staðinn. - Tilkynntu um merkið þegar mark þess er eitt af eftirfarandi:
<button>-stak,<input>með gerðinnibutton,submit,reset,imageeðahidden,- hvaða stak sem er ekki hægt að merkja, svo sem
<div>eða fyrirsögn.
- Merki sem vísa á venjulega reiti — textainnslátt,
<select>,<textarea>og sambærileg stök — standast prófunina.