Funkcjonalność · Poziom A

2.5.4 Aktywowanie ruchem

Ruch urządzenia lub ciała nie może być jedyną metodą uruchomienia funkcji.

Krótko

Jeśli funkcja działa po potrząśnięciu telefonem, przechyleniu urządzenia albo geście do kamery, musi dać się wykonać zwykłą kontrolką i musi dać się wyłączyć reakcję na ruch.

Problem w praktyce

Aplikacja cofa ostatnią akcję po potrząśnięciu telefonem. Osoba z drżeniem rąk przypadkowo uruchamia cofanie kilka razy. Inna osoba ma telefon zamocowany na uchwycie i nie może nim potrząsnąć, więc nie ma dostępu do funkcji.

To kryterium nie dotyczy animacji na stronie. Dotyczy funkcji sterowanych ruchem urządzenia albo ruchem użytkownika wykrywanym przez czujniki, na przykład kamerę.

Kogo to dotyczy

  • Osób z drżeniem rąk albo mimowolnymi ruchami.
  • Osób, które mają urządzenie zamocowane na uchwycie, wózku albo statywie.
  • Użytkowników, którzy nie mogą wykonać gestu przed kamerą.
  • Osób korzystających z aplikacji w pojeździe, gdzie ruch urządzenia jest przypadkowy.

Dobry przykład

  • Potrząśnięcie cofa akcję, ale dostępny jest też przycisk „Cofnij”.
  • Przechylenie telefonu przewija galerię, ale są też przyciski „Poprzednie” i „Następne”.
  • Użytkownik może wyłączyć sterowanie ruchem w ustawieniach.
  • Gest do kamery ma alternatywę w postaci przycisku albo klawiatury.

Zły przykład

  • Jedyny sposób cofnięcia akcji to potrząśnięcie telefonem.
  • Aplikacja nie pozwala wyłączyć reakcji na przechylenie urządzenia.
  • Gra lub quiz wymaga gestu dłonią do kamery, bez przycisku.
  • Ruch urządzenia przypadkowo uruchamia funkcję i nie da się tego zablokować.

Przykłady kodu

Dobry przykład: konwencjonalna kontrolka

Funkcja dostępna przez ruch ma też zwykły przycisk.

Kod — HTML

<button type="button">Cofnij ostatnią akcję</button>
<label>
  <input type="checkbox" name="motion-undo">
  Włącz cofanie przez potrząśnięcie urządzeniem
</label>

Zły przykład: tylko ruch

Funkcja zależy wyłącznie od czujnika ruchu.

Kod — JavaScript

window.addEventListener("devicemotion", event => {
  if (isShake(event)) {
    undoLastAction();
  }
});

Przykład graficzny

Źle

Potrząśnij, żeby cofnąć

Ruch jest jedyną metodą i nie da się go wyłączyć.

Dobrze

Przycisk „Cofnij” + opcjonalny ruch

Użytkownik ma alternatywę i kontrolę nad czujnikiem.

Schemat pokazuje, że ruch może być dodatkiem, ale nie jedyną ani wymuszoną metodą.

Jak sprawdzić

  1. Sprawdź, czy aplikacja reaguje na potrząsanie, przechylenie, obrót urządzenia albo gest do kamery.
  2. Ustal, jaką funkcję uruchamia ruch.
  3. Sprawdź, czy tę samą funkcję da się wykonać przyciskiem, linkiem, polem albo klawiaturą.
  4. Sprawdź, czy reakcję na ruch można wyłączyć.
  5. Nie myl tego z animacjami startującymi po wejściu na stronę.

Co sprawdzi automat, a czego nie

Automat może wykryć

  • część użycia API ruchu urządzenia,
  • nasłuchiwanie zdarzeń ruchu lub orientacji,
  • brak widocznej kontrolki alternatywnej w prostych przypadkach.

Automat nie oceni pewnie

  • czy ruch jest istotny dla funkcji,
  • czy ustawienie wyłączenia działa poprawnie,
  • czy alternatywa daje dokładnie ten sam efekt.

Typowe błędy

  • „Potrząśnij, aby cofnąć” bez przycisku cofania.
  • Przechylanie telefonu jako jedyny sposób sterowania galerią.
  • Brak ustawienia wyłączenia reakcji na ruch.
  • Gesty do kamery wymagane do przejścia quizu albo ćwiczenia.