Przestarzały atrybut ARIA
Silktide sprawdza strony pod kątem atrybutów ARIA, które standard uznaje za przestarzałe. Atrybuty te pozostają w specyfikacji wyłącznie ze względu na zgodność wsteczną i nie powinny być już używane.
Dlaczego to jest ważne
Przestarzałe atrybuty — aria-grabbed i aria-dropeffect, pochodzące z oryginalnego mechanizmu przeciągania i upuszczania — nigdy nie były niezawodnie obsługiwane przez , dlatego dają autorom fałszywe przekonanie, że interakcja przeciągania i upuszczania została udostępniona, podczas gdy w praktyce nic nie jest komunikowane. Pozostawienie ich na miejscu ukrywa rzeczywistą pracę: umożliwienie obsługi interakcji bez myszy.
Jak to naprawić
- Usuń przestarzałe atrybuty.
- Zamiast tego zapewnij rzeczywistą dostępność interakcji przeciągania i upuszczania:
- Zapewnij alternatywę klawiaturową dla każdego przesunięcia, na przykład przyciski „Przenieś w górę” i „Przenieś w dół” albo wzorzec polecenia wytnij i wklej.
- Informuj o wyniku każdego przesunięcia za pomocą (
aria-live="polite"), aby użytkownicy słyszeli, co się zmieniło.
<!-- Problem: przestarzałe i w praktyce niczego nie komunikuje -->
<li draggable="true" aria-grabbed="false">Element pierwszy</li>
<!-- Poprawka: alternatywa obsługiwana za pomocą klawiatury -->
<li>Element pierwszy <button aria-label="Przenieś element pierwszy w górę">↑</button></li>
Jak Silktide to testuje
- Znajduje każdy element na stronie, który ma co najmniej jeden atrybut
aria-. - Zgłasza każde użycie atrybutu uznanego za przestarzały przez ARIA 1.1 i nowsze wersje:
aria-grabbedorazaria-dropeffect.
Atrybuty, które są nieprawidłowe, a nie przestarzałe, są zgłaszane przez Niedozwolony atrybut ARIA.