Ikke-tilladt ARIA-attribut
Silktide tjekker, at hver ARIA-attribut på dine sider faktisk understøttes af elementets rolle. Attributter, som en rolle ikke understøtter, og attributter, der slet ikke er en del af ARIA-standarden, ignoreres af browsere – den adfærd, forfatteren havde til hensigt, sker aldrig.
<!-- Problem: aria-checked betyder intet på en knap -->
<button aria-checked="true">Fed</button>
<!-- Løsning: brug en rolle, der understøtter den tilstand, du har brug for -->
<button role="switch" aria-checked="true">Fed</button>
Hvorfor dette er vigtigt
Hver -rolle understøtter et bestemt sæt af tilstande
og egenskaber, og browsere kasserer alt uden for det sæt. Siden
ser derefter korrekt ud ved kodereview, mens brugere af
ikke får
noget: en kontakt, hvis tilstand aldrig annonceres, eller en beskrivelse, der
aldrig læses op. Denne kategori fanger også forkert stavede attributter som
aria-lable – det mest skadelige tilfælde, fordi forfatteren tror, at der
findes en etiket, mens en bruger af en ikke
får nogen.
Sådan løser du det
- Ret forkert stavede attributnavne (
aria-lableskal værearia-label,aria-labeledbyskal værearia-labelledby). - Hvis attributten er korrekt, men ikke understøttes, skal du ændre elementets rolle til en, der understøtter den – eller overveje, om et oprindeligt -element allerede giver den ønskede adfærd.
- Hvis attributten ikke gør noget nyttigt, skal du fjerne den.
Sådan tester Silktide dette
- Find hvert element på siden, der har mindst én
aria--attribut. - Fastslå sættet af ARIA-attributter, der er gyldige for elementet: de globale
attributter, der virker overalt (såsom
aria-labelogaria-hidden), samt de attributter, som elementets rolle understøtter. - Rapportér attributnavne, der ikke er en del af ARIA 1.2 – typisk slåfejl.
- Rapportér genkendte attributter, der bruges på et element, hvis rolle ikke understøtter dem, eller som kræver en rolle, elementet ikke har.
Forældede attributter rapporteres separat af Forældet ARIA-attribut, og attributværdier valideres af Ugyldig ARIA-attributværdi.
Fejlfinding
Attributten virker i mine test
Nogle kombinationer af skærmlæsere og browsere tolererer ikke-standardiserede kombinationer, som andre kasserer. Overensstemmelse med standarden er det, der gør adfærden forudsigelig på tværs af den hjælpeteknologi, du ikke kan teste.
Dette tjek rapporterer intet, selvom jeg forventer fund
ARIA-test kan slås fra for hver enkelt website. Tjek de avancerede indstillinger for websitet.