Manglende ARIA-beskrivelses-id'er
Silktide tjekker elementer, der knytter ekstra beskrivende tekst til sig selv ved at henvise til andre elementer via id, og rapporterer referencer til id'er, der ikke findes på siden. En brudt reference fjerner lydløst beskrivelsen.
ARIA-attributten aria-describedby knytter et element
til supplerende tekst et andet sted på siden – hjælpetekst under et formularfelt
eller en forklaring af et kontrolelement:
<!-- Problem: Referencen angiver "email-help", men afsnittets id er "email-helpp" -->
<input type="email" aria-describedby="email-help">
<p id="email-helpp">Indtast din arbejds-e-mailadresse</p>
Hvorfor det er vigtigt
Beskrivelser indeholder den vejledning, der forhindrer folk i at lave fejl – krav til format, advarsler og forklaringer af konsekvenser. En læser beskrivelsen efter et elements navn, men kun hvis referencen kan findes. Når den peger på intet, får den besøgende feltet uden vejledning og har ingen mulighed for at vide, at noget mangler. Seende besøgende kan stadig se hjælpeteksten ved siden af feltet, så fejlen går igennem enhver visuel gennemgang – hvilket er præcis derfor, automatiseret tjek er vigtigt her.
Sådan løser du det
- Find elementet, der indeholder den beskrivende tekst, og sørg for, at
værdien af
aria-describedbymatcher detsidnøjagtigt (id'er er skelner mellem store og små bogstaver):
<!-- Løst: Referencen matcher afsnittets id -->
<input type="email" aria-describedby="email-help">
<p id="email-help">Indtast din arbejds-e-mailadresse</p>
- Hvis det beskrivende element blev fjernet, skal du enten gendanne det eller fjerne
den forældede
aria-describedby-attribut. - Når ét element beskrives af flere andre, skal du angive hvert id adskilt med mellemrum og tjekke dem alle.
Sådan tester Silktide dette
- Find hvert element med en
aria-describedby-attribut på hver side. - Opdel attributværdien i individuelle id'er.
- Rapportér hvert refereret id, der ikke findes nogen steder på siden.