Villugreining
Silktide skoðar nauðsynlega reiti eyðublaða sem virðast nota sérsniðna staðfestingu í stað innbyggðrar athugunar vafrans og lætur vita þegar engin augljós leið er til þess að villuboðin berist til fólks sem notar hjálpartækni.
Hvers vegna þetta skiptir máli
Þegar eyðublað hafnar ógildu svari sjá notendur sem sjá yfirleitt rauðar útlínur eða skilaboð nálægt reitnum. Notandi fær ekkert af þessu nema síðan geri villuna aðgengilega í kóðanum: eyðublaðið neitar einfaldlega að senda inn, án útskýringa á því hvað fór úrskeiðis eða hvar. Niðurstaðan er eyðublað sem lokar sumum gestum hljóðlega úti.
Vafrar tilkynna sjálfkrafa um eigin innbyggð staðfestingarskilaboð. Hættan skapast þegar síða slekkur á því eða kemur í staðinn fyrir sína eigin staðfestingu og gleymir að tengja hana við .
Hvernig á að laga þetta
Gefðu hverjum reit sem fær sérsniðna staðfestingu leið sem forrit geta notað til að birta villuboð hans með :
<!-- Vandamál: sérsniðin staðfesting án aðgengilegrar villurásar -->
<form novalidate>
<input type="text" required>
<span class="error">Sláðu inn nafnið þitt</span>
</form>
<!-- Lagfæring: reiturinn vísar á villuboðin sín -->
<form novalidate>
<input type="text" required aria-describedby="name-error">
<span id="name-error" class="error">Sláðu inn nafnið þitt</span>
</form>
Eitt af eftirfarandi nægir til að standast prófunina:
aria-errormessageá reitnum sem vísar á þáttinn sem þú setur villutextann í (stilltuaria-invalid="true"þegar villan birtist).aria-describedbyá reitnum sem vísar á skilaboðaþáttinn.- innan eyðublaðsins — þáttur með
role="alert",role="status"eðaaria-live— sem staðfestingin skrifar villutextann í.
Að öðrum kosti skaltu fjarlægja sérsniðninguna og leyfa innbyggðri staðfestingu vafrans að tilkynna villur, en hún er sjálfgefið aðgengileg.
Hvernig Silktide prófar þetta
- Finnur sýnilega nauðsynlega reiti — innsláttarreiti, textasvæði og valmyndir — sem eru merktir
requiredeðaaria-required="true". - Heldur aðeins eftir reitum þar sem vísbendingar eru um að farið sé fram hjá innbyggðri staðfestingu vafrans eða henni skipt út: eyðublaðið er með
novalidate, innsendingarstýring er meðformnovalidate, reiturinn er merkturaria-invalid, hann notararia-requiredán innbyggðarequiredeiginleikans eða reiturinn eða eyðublaðið inniheldur vísbendingar um sérsniðna staðfestingu (svo sem villutengda eiginleika eða gáma fyrir villuboð). - Fyrir hvern slíkan reit leitar aðgengilegrar villurásar: gildri tilvísun í
aria-errormessage, gilda tilvísun íaria-describedbyeða lifandi svæði innan eyðublaðsins. - Lætur vita af reitum sem hafa enga slíka rás. Þetta er viðvörun en ekki staðfest bilun, því ekki er hægt að fylgjast að fullu með hegðun staðfestingar við keyrslu út frá kóða síðunnar.
Úrræðaleit
Villurnar mínar eru tilkynntar rétt
Prófunin leitar að uppbyggingunni sem gerir tilkynningar mögulegar, ekki sjálfri tilkynningunni. Ef kerfið þitt setur inn lifandi svæði eða ARIA-tilvísanir á því augnabliki sem villa kemur upp sýnir hlaðin síða enga rás og reiturinn fær viðvörun. Með því að bæta tómum skilaboðaþætti og tilvísun í hann fyrirfram leysis þetta og er einnig traustari lausn.
Tilvísuði skilaboðaþátturinn er ekki til enn
Tilvísanir verða að vísa á þætti sem eru til á síðunni. aria-describedby sem
vísar á auðkenni sem verður ekki til fyrr en síðar telst engin rás.