Kolejność DOM ma znaczenie

Znaczenie domyślnej kolejności DOM

Dave Gash
Dave Gash
Meggin Kearney
Meggin Kearney

Praca z elementami natywnymi to świetny sposób na poznanie zachowań ponieważ są one automatycznie wstawiane w kolejności, w jakiej są pozycji w DOM.

Na przykład możesz mieć trzy elementy przycisków umieszczone jeden po drugim DOM. Naciśnięcie Tab powoduje zaznaczenie po kolei wszystkich przycisków. Kliknij blok kodu poniżej, aby przenieść punkt początkowy nawigacji, a następnie naciśnij Tab, aby przenieść zaznaczenie przy użyciu przycisków.

<button>I Should</button>
<button>Be Focused</button>
<button>Last!</button>

Warto jednak zauważyć, że przy użyciu CSS można mieć różne występują w jednej kolejności w DOM, ale pojawiają się w innej kolejności na ekranie. Dla: Jeśli np. użyjesz właściwości CSS, takiej jak float, aby przenieść jeden przycisk w prawo, przyciski wyświetlają się na ekranie w innej kolejności. Ponieważ jednak ich kolejność DOM pozostaje taki sam. Gdy użytkownik otworzy kartę na stronie, przyciski zaczną się pojawiać w nieintuicyjnej kolejności. Kliknij blok kodu poniżej, aby przenieść punkt początkowy nawigacji, naciśnij Tab, aby przełączać zaznaczenie między przyciskami.

<button style="float: right">I Should</button>
<button>Be Focused</button>
<button>Last!</button>

Zachowaj ostrożność, gdy zmieniasz wizualne położenie elementów na ekranie za pomocą CSS. Może to spowodować zmianę kolejności kart, pozornie przypadkową i dezorientującą. którzy korzystają z klawiatury. Z tego powodu na liście kontrolnej Web AIM w sekcji 1.3.2 że kolejność czytania i nawigacji zgodnie z kolejnością kodu powinna być logiczny i intuicyjny.

Staraj się co jakiś czas przechodzić między stronami za pomocą klawisza Tab, aby mieć pewność, czy kolejność kart nie została przypadkowo zmieniona. To dobry nawyk i które nie wymaga wiele wysiłku.

Treści poza ekranem

Co zrobić, jeśli masz treści, które nie są obecnie wyświetlane, a które wymagają w DOM, np. w elastycznym bocznym panelu nawigacyjnym? Jeśli masz takie elementy gdy użytkownik jest poza ekranem, może wydawać się, że skupienie znikają i pojawiają się ponownie, gdy karty użytkownika są widoczne na stronie. niepożądany efekt. Należy unikać skupiania się na panelu, gdy jest poza ekranem, i koncentruj się tylko wtedy, gdy użytkownik może wejść w interakcję. z nim.

Wysuwany panel poza ekranem może przyciągnąć uwagę użytkownika.

Czasem musisz przeprowadzić detektywi, aby ustalić, w którym miejscu – nie było Cię tutaj. Za pomocą atrybutu document.activeElement w konsoli możesz sprawdzić, który aktualnie zaznaczony element.

Gdy ustalisz, który element poza ekranem jest zaznaczony, możesz go ustawić na display: none lub visibility: hidden, a następnie ustaw ją z powrotem na display: block lub visibility: visible, zanim wyświetlisz ją użytkownikowi.

Wysuwany panel ustawiony na brak wyświetlania.
Wysuwany panel ustawiony jako blok wyświetlania.

Ogólnie zachęcamy deweloperów do przeglądania witryn przed każdym Opublikuj, aby kolejność kart nie znikała ani nie wychodziła z logiki kolejne wartości. Jeśli tak, upewnij się, że ukrywasz się odpowiednio. treści poza ekranem przy użyciu: display: none lub visibility: hidden albo zmień kolejność elementów” fizyczne położenia w DOM, są więc zamówienie.