Анна в вымышленном сценарии касается в дневнике кнопки «Следующая тренировка», хотя хотела открыть заметку. Замечает ошибку, не поднимая пальца, и уводит его за пределы кнопки. Но дневник уже переключился: действие произошло в самом начале касания. У Анны не было возможности отказаться от него привычным движением наружу.
Не только куда нажали, но и когда сработало
Разработчик сначала повторяет последовательность на тестовой записи: коснуться, удержать, увести палец, отпустить. Если проверять только обычное быстрое нажатие, раннее срабатывание останется незамеченным — обе версии внешне переключают дневник. Сравнивают момент действия с отпусканием, а не только факт перехода.
В WCAG 2.5.2 Pointer Cancellation предусмотрены альтернативы для управления одним указателем: не выполнять функцию на начальном нажатии; завершать её при отпускании с возможностью прервать или отменить; обращать результат начального нажатия при отпускании; либо иметь существенную необходимость именно такого раннего выполнения. Это не требование показывать диалог подтверждения у каждой кнопки.
Проверка для простой кнопки Анны
Для тестового дневника выбирают обычную активацию при отпускании внутри кнопки. W3C объясняет, что при таком поведении простое нажатие можно прервать: пользователь уводит палец или указатель за пределы цели до отпускания. Теперь Анна повторяет свою ошибку, уводит палец и остаётся на текущей тренировке. Затем намеренно отпускает палец внутри той же кнопки — переход должен состояться.
Оба прохода нужны: если переход больше не работает вообще, отмена не стала исправной, а кнопка перестала выполнять задачу. В варианте с мышью также проверяют удержание нажатой кнопки, уход указателя наружу и отпускание. Клиентский дневник при этом не используют для реального изменения занятий; проверяют тестовые данные.
Большая кнопка не исправляет раннюю активацию
Если Анна часто попадает в соседний элемент, отдельно проверяют область касания и расстояние между кнопками. Но даже достаточная область не объясняет, почему действие выполняется до отпускания. Размер цели и отмена ошибочного касания — разные свойства: исправление одного не подтверждает исправность другого.
Не каждую реакцию на удержание нужно запрещать. Критерий допускает, например, обратимый результат начального нажатия, а также существенные исключения. Но удобство быстрого переключения дневника само по себе не доказывает такую необходимость. Разработчик выбирает подходящий механизм для конкретного действия, не переносит поведение экранной клавиатуры на обычную кнопку навигации.
В итоговом тесте фиксируют две записи поведения: ошибочное касание с уходом наружу не переключает занятие; намеренное отпускание внутри переключает. Анна может отказаться от ошибочного выбора до перехода. Разбор не определяет правила отмены записи на занятие и не меняет договорённости об оплате — здесь «отмена» относится к действию указателя в интерфейсе.