Hopp til innhold
SilktideHjelp

Manglende påkrevd ARIA-attributt

Silktide kontrollerer elementer som deklarerer en ARIA-rolle, og bekrefter at de også oppgir attributtene som rollen krever. Noen roller kan ikke brukes uten attributtene sine, for eksempel en glidebryter som aldri oppgir hvilken verdi den står på.

<!-- Problem: en glidebryter må eksponere gjeldende verdi -->
<div role="slider" tabindex="0"></div>

<!-- Løsning: oppgi den påkrevde tilstanden -->
<div role="slider" tabindex="0"
     aria-valuemin="0" aria-valuemax="100" aria-valuenow="50"></div>

Hvorfor dette er viktig

Å gi et element en -rolle er et løfte: «dette er en glidebryter», «dette er en avmerkingsboks». Roller som disse krever tilstandsattributter, fordi løftet er tomt uten dem – en bruker av en kommer til en avmerkingsboks og kan ikke se om den er avmerket, eller til en glidebryter og kan ikke se verdien eller området. Kontrollen blir annonsert, kan få fokus og er umulig å bruke.

Slik løser du det

  1. Legg til attributtene rollen krever, og hold dem oppdatert med et skript når kontrollens tilstand endres – en statisk aria-checked="false" på en fungerende avmerkingsboks er like misvisende som å ikke ha attributtet i det hele tatt.
  2. Foretrekk innebygde -elementer der de finnes: <input type="checkbox"> og <input type="range"> eksponerer tilstanden sin automatisk, uten ARIA som må vedlikeholdes.

Slik tester Silktide dette

  1. Finn alle elementer på siden som deklarerer et role-attributt.
  2. Slå opp attributtene ARIA 1.2 krever for rollen – for eksempel krever role="checkbox" aria-checked, og role="slider" krever aria-valuenow.
  3. Hopp over tilfeller der elementet eksponerer tilstanden innebygd: en ekte avmerkingsboks eller alternativknapp har allerede med seg avmerkingsstatusen, et innebygd <option> har med seg valgt status, og en glidebryter med aria-valuetext kan utelate aria-valuenow.
  4. Rapporter hvert element som mangler et påkrevd attributt.

Feilsøking

Et skript angir attributtet etter at siden er lastet inn

Silktide tester siden mens den lastes inn. Hvis kontrollen din bare legger til tilstandsattributtene ved første samhandling, hører brukerne en kontroll uten tilstand frem til da – gjengi den opprinnelige tilstanden på siden i stedet.

Denne kontrollen rapporterer ingenting selv om jeg forventer funn

ARIA-testing kan slås av per nettsted. Sjekk avanserte innstillinger for nettstedet.

Finn ut mer

Sist oppdatert

Var denne siden nyttig?

Manglende påkrevd ARIA-attributt | Silktide Hjelp