Gå til indhold
SilktideHjælp

Manglende aria-activedescendant-ID

Silktide tjekker alle aria-activedescendant-attributter på dine sider og bekræfter, at det element-ID, de peger på, faktisk findes. Denne attribut fortæller , hvilket element i en widget, f.eks. en rullemenu, der er fremhævet i øjeblikket.

<!-- Problem: no element on the page has id="opt-2" -->
<ul role="listbox" aria-activedescendant="opt-2">
  <li role="option" id="opt-1">First option</li>
</ul>

Hvorfor dette er vigtigt

Widgets som tilpassede rullemenuer, kombinationsbokse og gitre bevarer på containeren og bruger attributten aria-activedescendant til at angive, hvilket element indeni der er aktivt. Når referencen peger på et ID, som ikke findes, hører en bruger af en intet, når vedkommende bevæger sig gennem indstillingerne – widgetten ser ud til slet ikke at have noget valgt, hvilket gør den ubrugelig uden syn.

Sådan retter du det

  1. Lad attributten referere til id for det aktive element, og opdater den, når brugeren bevæger sig gennem widgetten.
  2. Hvis widgetten gengiver sine elementer igen, skal du sikre, at de nye elementer beholder stabile ID'er, eller opdatere aria-activedescendant i samme trin.
  3. Fjern attributten, hvis widgetten ikke længere findes eller i stedet håndterer fokus direkte.

Sådan tester Silktide dette

  1. Find hvert element på siden med en aria-activedescendant-attribut.
  2. Tjek det ID, som attributten refererer til, i forhold til de element-ID'er, der findes på siden.
  3. Rapportér hver reference, der ikke matcher noget element.

Fejlfinding

Målet oprettes senere af et script

Silktide tester siden, mens den indlæses. Hvis det refererede element først findes efter brugerinteraktion, er referencen stadig brudt i mellemtiden – angiv kun aria-activedescendant, når målet findes.

Dette tjek rapporterer intet, selvom jeg forventer resultater

ARIA-testning kan deaktiveres for hver enkelt website. Tjek de avancerede indstillinger for websitet.

Få mere at vide

Sidst opdateret

Var denne side nyttig?