Стандарти · WCAG 2.2

SC 2.5.2 Ниво A WCAG 2.1

Отмяна на показалец

Функции, задействани от единичен показалец, трябва да се активират при повдигане, а не при натискане — така потребителят може да плъзне встрани, за да откаже. Отмяна, отмяна на действие или предварително отменяне трябва да са налични, освен ако незабавното активиране не е съществено.

Какво се изисква

Когато потребителят започне докосване или щракване и установи, че е попаднал на грешна цел, трябва да може да плъзне пръста/курсора настрани, преди да го вдигне, без да се задейства действието. Това означава, че активирането трябва да се извършва при pointerup / click — стандартното поведение на браузъра — а не при pointerdown / mousedown.

Критерият изисква едно от четири условия:

  • Събитието при натискане не задейства функцията, или
  • Завършването се извършва при повдигане над същата цел, с възможност за отказ чрез преместване встрани, или
  • Налице е „отмяна” след активирането, или
  • Обратното на функцията отменя резултата (превключване).

Съществени активирания — например натискане на клавиш на пиано в музикално приложение — са освободени от изискването.

Как да се изпълни

  • Използват се слушатели за click, а не за mousedown / touchstart. Браузърът вече реализира правилното поведение за отказ при плъзгане.
  • При персонализирани уиджети, обработващи ръчно събития за показалец, активирането се извършва при pointerup, като се проверява дали целта е все още същият елемент под курсора.
  • За разрушителни действия (изтриване, изпращане) се добавя стъпка за потвърждение или известие „Отмени”.
  • За бутони за превключване (изключване на звук, любими, натиснато състояние) второто докосване обръща промяната, което също изпълнява критерия.

Чести грешки

  • Бутони, свързани с onmousedown, задействащи се веднага при натискане на показалеца. Плъзгането встрани не действа.
  • Персонализирани дръжки за плъзгане, интерпретиращи pointerdown като събитие „избор”.
  • Карти с усещане за нативност, навигиращи към страница с детайли при touchstart — потребителят не може да превърти покрай тях без случайно активиране.
  • Падащи менюта, затварящи се при mousedown извън тях вместо при click, поглъщайки щракването.

Защо е важно

Плъзгането встрани за отказ е начинът, по който потребители с тремор, двигателни увреждания или неточно насочване (стилус на клатещ се влак) се възстановяват от погрешно докосване. Активирането при натискане премахва тази изходна точка — веднага след докосване действието е неотменимо. Освен това това е скрита такса за използваемост за всички: дори потребители без увреждания редовно разчитат на плъзгането встрани, когато докосването им попада на грешна цел.