Zastanawiałem się, czy ktoś mógł mi wyjaśnić, z punktu widzenia AccessIblistości , logika za jawnie daje pozycję menu zakotwiczenia wskaźnika zakładki -1. Chcę dać moje elementy menu wskaźnik karty 0, ponieważ ich naturalne zamówienie jest kolejnością, którą chcę. Czy są jakieś wady do tej strategii?

0
bryonbean 4 grudzień 2013, 04:58

4 odpowiedzi

Najlepsza odpowiedź

tabindex="-1" Wykonuje go z zamówienia, ale pozwala na przesunięcie skryptu klawiatury.

Menu jQuery jest przykładem Widget menu Wai-Aria który ma a określona interakcja klawiatury.

Krótko, menu powinno być jedną tab; w kolejności Tabbing, a następnie używasz klawiszy strzałek, aby poruszać się po menu. Dlatego -1 jest użyteczną wartością, możesz skryptować ruch ustawiania ostrości klawiatury za pomocą klawiszy strzałek. Korzystanie 0 złamałoby model interakcji, więc nie użyłem menu jQuery, jeśli chcesz go zmienić w ten sposób.

Znalazłem w testowaniu użyteczności, że niewielu ludzi wie o tej interakcji (tj. Utknąli), przynajmniej dla "standardowych" witryn, które są głównie zadowoleni z jednym widżetem Wai-Aria. Różna jest dla rzeczy takich jak Gmail, gdzie ludzie (maja) oczekują więcej doświadczeń podobnych do aplikacji.

Jeśli szukasz menu na stronie Poczucie nawigacji, polecam Adobe OS Mega-Menu, który wykorzystuje kombinację standardowych skryptów i kilka atrybutów Aria, aby zapewnić duże doświadczenie dla zwykłych stron internetowych.

3
AlastairC 4 grudzień 2013, 14:13

Ponieważ inni odpowiadający zauważyły, należy usunąć elementy podmenu z kolejności TABBING, jednocześnie zapewniając dostęp do niej klawiaturę za pomocą innych środków.

Oto szczegółowy opis dostępnego menu, dotykając zarówno atrybutów Wai-Aria, jak i Tabindex: Zalecana implementacja Wai-Aria dla nawigacji / menu

1
Community 23 maj 2017, 12:28

Zapobiega to elemencie z częścią sekwencyjnej nawigacji. Najlepiej założyć, że nie jest to zakładka godny przedmiotu, aby ustawić indeks, który byłby niepożądany po zakończeniu niepoprawnie.

Nawet dla scenariusza pole o readonly, która pokazuje sumę obliczeniową. Jeśli masz instalację użytkownika do każdego wpisu, nie powinienednąć do karty, aby ominąć pole o readonly

0
Johnny Harlamert 4 grudzień 2013, 01:07

Tabindex z -1 jest używany do całkowicie wykluczenia elementu z zamówienia karty.

Przykład

<input type="text" tabindex="1" />
<input type="text" tabindex="2" />
<input type="text" tabindex="-1" />
<input type="text" tabindex="3" />

Zobacz to skrzypce na przykład

Dobrze jest użyć tego. Zobacz W3C HTML5 Specyfikacja :

Jeśli wartość jest ujemna liczba całkowita

Agent Użytkownika musi ustawić flagę Flaga Tabindex Element, ale nie powinno pozwalać na osiągnięcie elementu przy użyciu sekwencyjnej nawigacji ostrości.

Powiedziałbym, że (z dostępności punktu widzenia) Takie podejście ma największe sens, gdy:

  • Nie chcesz mieć dostępu do menu za pomocą klawiatury

Lub

  • Nie wiesz, w którym środowisku zostanie użyty kod (menu jQuery może skończyć się poniżej formularzy, których pola już obejmują pewne wartości Tabindex, więc nie mogli po prostu ustawić Tabinx do niczego naprawdę)

Jeśli chodzi o twoje pytanie dotyczące użycia "0" jako Tabindex:

W Specyfikacja HTML mówi:

Elementy, które mają identyczne wartości Tabindex, powinny być nawigowane w kolejności, w jakiej pojawiają się w strumieniu znakowym.

Znaczenie, że możesz użyć dowolnej wartości innej niż 0, dopóki wszystkie elementy, które chcesz podać zlecenie przyrody, wszystkie mają ten sam Tabindex.

0
Community 20 czerwiec 2020, 09:12