Gå til indhold
SilktideHjælp

Manglende påkrævet ARIA-attribut

Silktide tjekker elementer, der angiver en ARIA-rolle, og bekræfter, at de også har de attributter, rollen kræver. Nogle roller kan ikke bruges uden deres attributter, f.eks. en skyder, der aldrig angiver, hvilken værdi den er indstillet til.

<!-- Problem: en skyder skal angive sin aktuelle værdi -->
<div role="slider" tabindex="0"></div>

<!-- Løsning: angiv den påkrævede tilstand -->
<div role="slider" tabindex="0"
     aria-valuemin="0" aria-valuemax="100" aria-valuenow="50"></div>

Hvorfor det er vigtigt

At give et element en -rolle er et løfte: "dette er en skyder", "dette er et afkrydsningsfelt". Roller som disse kræver statusattributter, fordi løftet ellers er tomt – en -bruger lander på et afkrydsningsfelt og kan ikke afgøre, om det er markeret, eller på en skyder og kan ikke afgøre dens værdi eller interval. Kontrolelementet annonceres, kan få fokus og er umuligt at bruge.

Sådan løser du det

  1. Tilføj de attributter, rollen kræver, og hold dem opdateret med script, når kontrolelementets tilstand ændres – en statisk aria-checked="false" på et fungerende afkrydsningsfelt er lige så misvisende som slet ingen attribut.
  2. Foretræk oprindelige -elementer, hvor de findes: <input type="checkbox"> og <input type="range"> angiver deres tilstand automatisk, uden ARIA, der skal vedligeholdes.

Sådan tjekker Silktide dette

  1. Find hvert element på siden, der angiver en role-attribut.
  2. Find de attributter, som ARIA 1.2 kræver for den rolle – f.eks. kræver role="checkbox" aria-checked, og role="slider" kræver aria-valuenow.
  3. Spring tilfælde over, hvor elementet angiver tilstanden oprindeligt: Et rigtigt afkrydsningsfelt eller en radioknap har allerede sin markerede tilstand, en oprindelig <option> har sin valgte tilstand, og en skyder med aria-valuetext kan undlade aria-valuenow.
  4. Rapportér hvert element, der mangler en påkrævet attribut.

Fejlfinding

Et script angiver attributten, efter siden er indlæst

Silktide tjekker siden, mens den indlæses. Hvis din widget først tilføjer sine statusattributter ved den første interaktion, hører brugerne et kontrolelement uden tilstand indtil da – gengiv i stedet den oprindelige tilstand på siden.

Dette tjek rapporterer ikke noget, selvom jeg forventer fund

ARIA-testning kan slås fra for hver website. Tjek de avancerede indstillinger for websitet.

Få mere at vide

Sidst opdateret

Var denne side nyttig?

Manglende påkrævet ARIA-attribut | Silktide Hjælp