Jednoczesne wprowadzanie danych
Silktide wyszukuje style, które wyłączają wprowadzanie dotykowe dla całej strony lub ukrywają przyciski i łącza przed osobami używającymi określonego rodzaju wskaźnika, takiego jak mysz lub ekran dotykowy. Strony powinny umożliwiać odwiedzającym korzystanie z dowolnej metody wprowadzania danych dostępnej na ich urządzeniu.
Dlaczego to jest ważne
Ludzie stale zmieniają metody wprowadzania danych: laptop z ekranem dotykowym, tablet z podłączoną klawiaturą, komputer stacjonarny z rysikiem. Inni polegają na jednej konkretnej metodzie ze względu na niepełnosprawność — osoba z drżeniem rąk może uznać dotyk za łatwiejszy niż mysz, podczas gdy ktoś korzystający ze wskaźnika ustnego może używać wyłącznie klawiatury. Strona, która wyłącza dotyk lub ukrywa elementy sterujące, chyba że można na nie najechać myszą, wyklucza tych odwiedzających z funkcji dostępnych dla pozostałych odbiorców.
To zagadnienie stanowi podstawę kryterium sukcesu 2.5.6 (Współbieżne mechanizmy wprowadzania), wymogu .
Jak to naprawić
- Usuń
touch-action: nonez elementuhtmllubbody. Jeśli potrzebujesz tego ustawienia do obsługi niestandardowego gestu, zastosuj je tylko do konkretnego elementu obsługującego gest, takiego jak mapa lub suwak, a nie do całej strony. - Gdy zapytanie medialne, takie jak
@media (hover: none)lub@media (pointer: coarse), ukrywa przycisk lub łącze, upewnij się, że ta sama czynność jest nadal dostępna dla tych odwiedzających w inny sposób. Zmień styl elementów sterujących na potrzeby dotyku zamiast je usuwać. - Jeśli oznaczony styl jest faktycznie nieszkodliwy — na przykład ukrywa element sterujący, którego odpowiednik jest widoczny dla wszystkich — możesz wynik.
/* Problem: wyłącza wprowadzanie dotykowe dla całej strony */
body {
touch-action: none;
}
/* Lepiej: ogranicz to do elementu wymagającego niestandardowych gestów */
.map-canvas {
touch-action: none;
}
Jak Silktide to testuje
- Odczytuje zapisany bezpośrednio na każdej stronie, zarówno bloki
<style>, jak i atrybutystyleelementówhtmlorazbody. - Zgłasza stronę, gdy wyłącza ona dotyk globalnie, z
touch-action: nonezastosowanym do elementuhtml,bodylub elementu głównego. - Zgłasza stronę, gdy zapytanie medialne sprawdzające najechanie lub rodzaj wskaźnika (takie jak
hover: hoverlubpointer: coarse) ukrywa element interaktywny, taki jak przycisk, łącze lub pole formularza, za pomocądisplay: none. - Zgłasza maksymalnie jeden wynik na stronę. Ponieważ te wzorce czasami mają uzasadnione zastosowania, wyniki są oznaczane do potwierdzenia, a nie liczone jako potwierdzone błędy.
Rozwiązywanie problemów
Oznaczony styl jest zamierzony
Niektóre strony rzeczywiście potrzebują tych wzorców — narzędzie do rysowania może wyłączać natywne gesty dotykowe, a funkcja dostępna tylko na komputerach stacjonarnych może ukrywać menu wyświetlane po najechaniu na urządzeniach dotykowych, jednocześnie oferując inną drogę do tej samej treści. Jeśli potwierdzisz, że istnieje równoważna metoda wprowadzania danych, zatwierdź wynik.
Moja strona ogranicza wprowadzanie danych, ale nie została oznaczona
Silktide odczytuje tylko CSS zapisany na samej stronie; reguły w osobnych podłączonych plikach arkuszy stylów nie są skanowane przez tę kontrolę. Nie może też wykryć ograniczeń wprowadzania danych zastosowanych za pomocą , takich jak skrypty ignorujące zdarzenia dotykowe na określonych urządzeniach. Pozytywny wynik tej kontroli nie gwarantuje, że strona spełnia kryterium.