Naar inhoud springen
SilktideHelp

Ontbrekend vereist ARIA-attribuut

Silktide controleert elementen die een ARIA-rol declareren en verifieert of ze ook de attributen leveren die voor die rol vereist zijn. Sommige rollen zijn zonder hun attributen onbruikbaar, zoals een schuifregelaar die nooit aangeeft op welke waarde deze is ingesteld.

<!-- Probleem: een schuifregelaar moet de huidige waarde beschikbaar maken -->
<div role="slider" tabindex="0"></div>

<!-- Oplossing: geef de vereiste status op -->
<div role="slider" tabindex="0"
     aria-valuemin="0" aria-valuemax="100" aria-valuenow="50"></div>

Waarom dit belangrijk is

Een element een -rol geven is een belofte: "dit is een schuifregelaar", "dit is een selectievakje". Rollen zoals deze vereisen statusattributen, omdat de belofte zonder die attributen leeg is: een gebruiker van een komt bij een selectievakje terecht en kan niet zien of het is aangevinkt, of bij een schuifregelaar en kan de waarde of het bereik ervan niet achterhalen. Het besturingselement wordt aangekondigd, kan focus krijgen, maar is onmogelijk te gebruiken.

Zo lost u dit op

  1. Voeg de attributen toe die de rol vereist en houd ze met een script bijgewerkt wanneer de status van het besturingselement verandert: een statische aria-checked="false" op een werkend selectievakje is net zo misleidend als helemaal geen attribuut.
  2. Geef de voorkeur aan native -elementen als die beschikbaar zijn: <input type="checkbox"> en <input type="range"> maken hun status automatisch beschikbaar, zonder dat u ARIA hoeft te onderhouden.

Zo test Silktide dit

  1. Zoek elk element op de pagina dat een role-attribuut declareert.
  2. Zoek de attributen op die ARIA 1.2 voor die rol vereist, bijvoorbeeld: voor role="checkbox" is aria-checked vereist en voor role="slider" is aria-valuenow vereist.
  3. Sla gevallen over waarin het element de status native beschikbaar maakt: een echt selectievakje of keuzerondje bevat de aangevinkte status al, een native <option> de geselecteerde status, en een schuifregelaar met aria-valuetext mag aria-valuenow weglaten.
  4. Rapporteer elk element waaraan een vereist attribuut ontbreekt.

Problemen oplossen

Een script stelt het attribuut in nadat de pagina is geladen

Silktide controleert de pagina terwijl deze wordt geladen. Als uw widget de statusattributen pas bij de eerste interactie toevoegt, horen gebruikers tot dat moment een besturingselement zonder status. Geef de beginstatus in plaats daarvan al op in de pagina.

Deze controle rapporteert niets, hoewel ik resultaten verwacht

ARIA-tests kunnen per website worden uitgeschakeld. Controleer de geavanceerde instellingen voor de website.

Meer informatie

Laatst bijgewerkt

Was deze pagina nuttig?