Saknar ID för aria-errormessage
Silktide kontrollerar varje aria-errormessage-attribut på dina sidor och verifierar att element-ID:t som det pekar på faktiskt finns. Attributet kopplar ett formulärfält till meddelandet som förklarar vad som är fel med det värde som har angetts.
<!-- Problem: inget element på sidan har id="email-error" -->
<input type="email" aria-invalid="true" aria-errormessage="email-error">
Varför detta är viktigt
När ett formulärfält markeras som ogiltigt anger attributet
aria-errormessage för var
förklaringen finns. Om referensen är bruten får en användare av en
veta att inmatningen är felaktig, men aldrig
höra varför – användaren måste själv gissa sig till format och krav som
seende användare kan läsa på skärmen och kan till och med överge formuläret
helt.
Så åtgärdar du problemet
- Låt attributet referera till
idför det element som innehåller det synliga felmeddelandet för fältet. - Kombinera det med
aria-invalid="true"på fältet så länge felet gäller –aria-errormessagemeddelas endast för ogiltiga fält. - Se till att det refererade elementet innehåller läsbar text när felet visas och är tomt eller dolt när det inte visas.
Så här testar Silktide detta
- Hitta varje element på sidan med ett
aria-errormessage-attribut. - Kontrollera ID:t som det refererar till mot de element-ID:n som finns på sidan.
- Rapportera varje referens som inte matchar något element.
Felsökning
Felelementet läggs bara till när valideringen misslyckas
Silktide testar sidan när den läses in. Låt helst felbehållaren finnas kvar permanent på sidan (tom eller dold tills den behövs), så att referensen alltid kan lösas och meddelandet fungerar så snart felet visas.
Den här kontrollen rapporterar inget trots att jag förväntar mig resultat
ARIA-tester kan stängas av per webbplats. Kontrollera webbplatsens avancerade inställningar.