Pracuję nad aplikacją internetową, a jeden z powtarzających się elementów a
(zakotwiczenia) nie uzyskuje ostrości klawiatury, kiedy przechodzę przez tę stronę. Tylko jeśli dodaję tabindex=0
, mogę go ustawić.Dlaczego tag `a` musiałby mieć` tabindex = 0`?
(Choć moim celem jest, aby skupić widoczny, jestem stwierdzenia, czy element zostanie skupić za pomocą urywek jQuery:
// Whenever I hit tab, show me which element has focus
$('main').on('keydown',function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
console.log("focus is now on ", $(':focus'));
}
});
)
To mnie niepokoi. Zgodnie z the specs, "atrybut tabindex może również uczynić dowolny element interaktywną treścią" - ale a
jest jedną z tych, które domyślnie wyświetlają jako interaktywne.
I znowu, z artykułu Dostępność:
A [tabindex] Wartość 0 wskazuje, że element powinien być umieszczony w domyślnej kolejności nawigacji. Pozwala to elementy, które są nie natywnie aktywowana (takich jak <div>, < rozpiętość > i <p>), aby otrzymać klawiaturę. Oczywiście należy zazwyczaj używają łącza i kontrolki formularzy dla wszystkich elementów interaktywnych ... (http://webaim.org/techniques/keyboard/tabindex)
Co spowodowałoby element kontrolny, aby zostać pominięte jako kartę I za pośrednictwem interaktywnych elementów strony?
Czy tag ma href? Jeśli jego interaktywność pochodzi wyłącznie z javascript, to może to wyjaśnić. – Katana314
Powiązane: [Usuń element z indeksu kart] (http://stackoverflow.com/questions/5192859/html-remove-element-from-tab-index) – GolezTrol
Może być wiele różnych powodów. Pokaż nam, jakie właściwości mają tagi '', które nie są tabulatorem. –