Przejdź do treści
SilktidePomoc

Brakujący identyfikator aria-owns

Silktide sprawdza każdy atrybut aria-owns na Twoich stronach i weryfikuje, czy wymienione w nim identyfikatory elementów rzeczywiście istnieją. Ten atrybut przypisuje elementy z innych miejsc na stronie jako elementy podrzędne widżetu, mimo że w kodzie znajdują się one w innym miejscu.

<!-- Problem: żaden element na stronie nie ma id="menu-items" -->
<div role="menu" aria-owns="menu-items">…</div>

Dlaczego to jest ważne

Atrybut aria-owns zmienia strukturę : elementy, do których się odwołuje, są traktowane jako elementy podrzędne elementu będącego ich właścicielem, niezależnie od miejsca, w którym znajdują się w kodzie. Gdy odwołanie jest uszkodzone, to przypisanie po cichu nie działa — menu lub drzewo może wydawać się całkowicie puste dla , mimo że jego elementy są wyraźnie widoczne na ekranie. Ponieważ wizualnie nic nie wygląda nieprawidłowo, takie problemy zwykle pozostają niezauważone, dopóki ktoś nie przeprowadzi testu z użyciem .

Jak to naprawić

  1. Dopilnuj, aby każdy identyfikator wymieniony w aria-owns odpowiadał wartości id rzeczywistego elementu na tej samej stronie.
  2. Jeśli posiadana treść została przeniesiona lub zmieniono jej nazwę, zaktualizuj odwołanie w tej samej zmianie — lub, co lepsze, zmień strukturę kodu tak, aby elementy podrzędne znajdowały się naturalnie wewnątrz elementu nadrzędnego i aria-owns nie było potrzebne.
  3. Upewnij się, że żaden element nie jest przypisany dwukrotnie: id może wystąpić tylko w jednym aria-owns na stronie.

Jak Silktide to testuje

  1. Znajduje każdy element na stronie z atrybutem aria-owns.
  2. Sprawdza każdy identyfikator, do którego się on odwołuje, względem identyfikatorów elementów obecnych na stronie.
  3. Zgłasza każde odwołanie, które nie odpowiada żadnemu elementowi.

Rozwiązywanie problemów

Posiadany element jest tworzony później przez skrypt

Silktide testuje stronę podczas jej ładowania. Jeśli posiadana treść istnieje dopiero po interakcji użytkownika, widżet jest do tego czasu ogłaszany jako pusty — renderuj ukrytą treść od początku albo ustaw aria-owns, gdy treść już istnieje.

Dowiedz się więcej

Ostatnio zaktualizowano

Czy ta strona była pomocna?