Отмяна на показалец
Функции, задействани от единичен показалец, трябва да се активират при повдигане, а не при натискане — така потребителят може да плъзне встрани, за да откаже. Отмяна, отмяна на действие или предварително отменяне трябва да са налични, освен ако незабавното активиране не е съществено.
Какво се изисква
Когато потребителят започне докосване или щракване и установи, че е попаднал на грешна цел, трябва да може да плъзне пръста/курсора настрани, преди да го вдигне, без да се задейства действието. Това означава, че активирането трябва да се извършва при pointerup / click — стандартното поведение на браузъра — а не при pointerdown / mousedown.
Критерият изисква едно от четири условия:
- Събитието при натискане не задейства функцията, или
- Завършването се извършва при повдигане над същата цел, с възможност за отказ чрез преместване встрани, или
- Налице е „отмяна” след активирането, или
- Обратното на функцията отменя резултата (превключване).
Съществени активирания — например натискане на клавиш на пиано в музикално приложение — са освободени от изискването.
Как да се изпълни
- Използват се слушатели за
click, а не заmousedown/touchstart. Браузърът вече реализира правилното поведение за отказ при плъзгане. - При персонализирани уиджети, обработващи ръчно събития за показалец, активирането се извършва при
pointerup, като се проверява дали целта е все още същият елемент под курсора. - За разрушителни действия (изтриване, изпращане) се добавя стъпка за потвърждение или известие „Отмени”.
- За бутони за превключване (изключване на звук, любими, натиснато състояние) второто докосване обръща промяната, което също изпълнява критерия.
Чести грешки
- Бутони, свързани с
onmousedown, задействащи се веднага при натискане на показалеца. Плъзгането встрани не действа. - Персонализирани дръжки за плъзгане, интерпретиращи
pointerdownкато събитие „избор”. - Карти с усещане за нативност, навигиращи към страница с детайли при
touchstart— потребителят не може да превърти покрай тях без случайно активиране. - Падащи менюта, затварящи се при
mousedownизвън тях вместо приclick, поглъщайки щракването.
Защо е важно
Плъзгането встрани за отказ е начинът, по който потребители с тремор, двигателни увреждания или неточно насочване (стилус на клатещ се влак) се възстановяват от погрешно докосване. Активирането при натискане премахва тази изходна точка — веднага след докосване действието е неотменимо. Освен това това е скрита такса за използваемост за всички: дори потребители без увреждания редовно разчитат на плъзгането встрани, когато докосването им попада на грешна цел.