Nodi gwallau
Mae Silktide yn archwilio meysydd ffurflen gorfodol sy'n ymddangos fel petaent yn defnyddio dilysu personol yn lle gwiriadau adeiledig y porwr, ac yn rhybuddio pan nad oes ffordd amlwg i'r neges wall gyrraedd pobl sy'n defnyddio technoleg gynorthwyol.
Pam mae hyn yn bwysig
Pan fydd ffurflen yn gwrthod ateb annilys, bydd defnyddwyr sy'n gallu gweld fel arfer yn gweld amlinelliad coch neu neges ger y maes. Nid yw defnyddiwr yn cael dim o hynny oni bai bod y dudalen yn datgelu'r gwall yn y cod: mae'r ffurflen yn gwrthod cael ei chyflwyno, heb esboniad o beth aeth o'i le na ble. Y canlyniad yw ffurflen sy'n atal rhai ymwelwyr yn dawel.
Mae porwyr yn cyhoeddi eu negeseuon dilysu adeiledig eu hunain yn awtomatig. Mae'r risg yn ymddangos pan fydd tudalen yn diffodd hynny neu'n ei ddisodli â'i dilysiad ei hun, ac yn anghofio cysylltu'r un newydd ar gyfer .
Sut i'w drwsio
Rhowch lwybr rhaglennol i bob maes sydd wedi'i ddilysu'n bersonol ar gyfer ei neges wall, gan ddefnyddio :
<!-- Problem: custom validation with no accessible error channel -->
<form novalidate>
<input type="text" required>
<span class="error">Enter your name</span>
</form>
<!-- Fix: the field points at its error message -->
<form novalidate>
<input type="text" required aria-describedby="name-error">
<span id="name-error" class="error">Enter your name</span>
</form>
Mae unrhyw un o'r rhain yn bodloni'r gwiriad:
aria-errormessagear y maes, sy'n pwyntio at yr elfen rydych yn ei llenwi â thestun y gwall (gosodwcharia-invalid="true"pan fydd y gwall yn ymddangos).aria-describedbyar y maes, sy'n pwyntio at yr elfen neges.- y tu mewn i'r ffurflen - elfen â
role="alert",role="status", neuaria-live- y mae eich dilysiad yn ysgrifennu testun gwall iddi.
Fel arall, tynnwch yr addasiad a gadewch i ddilysiad brodorol y porwr adrodd am wallau, sydd yn hygyrch yn ddiofyn.
Sut mae Silktide yn profi hyn
- Dod o hyd i feysydd gorfodol gweladwy - mewnbynnau, ardaloedd testun, a dewislenni dewis sydd wedi'u marcio â
requiredneuaria-required="true". - Cadw dim ond y meysydd sydd â thystiolaeth bod dilysiad brodorol y porwr yn cael ei osgoi neu ei ddisodli: mae gan y ffurflen
novalidate, mae gan reolydd cyflwynoformnovalidate, mae'r maes wedi'i farcio agaria-invalid, mae'n defnyddioaria-requiredheb y briodwedd frodorolrequired, neu mae gan y maes neu'r ffurflen awgrymiadau dilysu personol (megis priodweddau sy'n ymwneud â gwallau neu gynwysyddion negeseuon gwall). - Ar gyfer pob maes o'r fath, chwilio am unrhyw sianel wall hygyrch: cyfeiriad
aria-errormessagedilys, cyfeiriadaria-describedbydilys, neu ranbarth byw o fewn y ffurflen. - Rhybuddio am feysydd nad oes ganddynt yr un o'r rhain. Rhybudd yw hwn yn hytrach na methiant a gadarnhawyd, oherwydd ni ellir arsylwi ymddygiad dilysu wrth redeg yn llawn o god y dudalen.
Datrys problemau
Mae fy ngwallau yn cael eu cyhoeddi'n gywir
Mae'r gwiriad yn chwilio am y strwythur sy'n gwneud cyhoeddiadau'n bosibl, nid y cyhoeddiad ei hun. Os yw eich fframwaith yn mewnosod rhanbarth byw neu'r cyfeiriadau ARIA dim ond pan fydd gwall yn digwydd, nid yw'r dudalen wedi'i llwytho yn dangos sianel ac mae'r maes yn cael ei farcio. Mae ychwanegu'r elfen neges (wag) a'r cyfeiriad ymlaen llaw yn datrys hyn, ac mae hefyd yn fwy cadarn.
Nid yw'r elfen neges y cyfeirir ati yn bodoli eto
Rhaid i gyfeiriadau bwyntio at elfennau sy'n bodoli yn y dudalen. Mae aria-describedby sy'n pwyntio at id a grëir yn ddiweddarach yn unig yn cyfrif fel dim sianel.