Кейсы
Работа с клиентом

Форма тренера сама открывает диалог: переход Tab не означает согласие клиента

Антон ещё не выбирал пакет занятий

В условной истории Антон открывает форму записи к тренеру и пользуется клавиатурой. Когда Tab переводит его к полю «Цель обращения», появляется диалог подбора пакета и забирает фокус. Антон закрывает его, пытается идти дальше и снова попадает в подбор. Он переживает, что уже сделал выбор, хотя хотел сначала прочитать поля. Никакой заявки в этом сценарии ещё не отправлено: проблема возникает до ввода сведений.
Владелец формы считает диалог полезной подсказкой. Но Антон не активировал подбор и не просил сменить место действия. Здесь нужно исправить момент запуска, а не просто уменьшить окно или сделать заголовок дружелюбнее.

Получение фокуса и запуск действия различают

В пояснении W3C к On Focus 3.2.1 указано: компонент не должен инициировать смену контекста, когда получает фокус. Примеры — автоматическая отправка формы, открытие нового окна и перемещение фокуса к другому элементу. Диалог помощи, который при переходе к полю сам уводит туда фокус, приведён как неудачное поведение.
Фокус может прийти от клавиатуры или при клике на текстовое поле. Наведение указателя само по себе не равнозначно фокусу. Клик по кнопке может также активировать её, поэтому оценивают событие, вызвавшее переход, а не запрещают все изменения после клика. W3C отдельно поясняет: изменение содержания не всегда означает смену контекста.

Как проверить исправление на пути Антона

Разработчик разделяет переход к полю и намеренный запуск подбора. Например, рядом размещается понятное действие открытия диалога; сам фокус на поле остаётся на месте и позволяет читать или заполнять его. Это пример решения для данной формы, а не требование добавлять одинаковую кнопку во все анкеты.
На тестовой версии повторяют последовательность Антона без персональных данных: пройти Tab до цели обращения, сделать паузу, перейти к следующему элементу. Диалог не должен сам перехватывать этот путь. Затем отдельно активируют подбор и проверяют, что запускается именно выбранное действие. Если просто отключить диалог целиком, исчезновение помехи ещё не подтверждает, что обещанный пользователю подбор остался доступен.
Для записи дефекта полезна точная формулировка: «При получении фокуса полем цели открывается диалог, фокус перемещается в него». Она отделяет ошибку от ситуации, когда Антон сам нажал кнопку. После замены компонента или правил запуска тот же маршрут проверяют заново.
Небольшая немодальная подсказка, которая не уводит фокус, имеет другую задачу проверки: можно ли её прочитать и закрыть. Этому посвящён материал о подсказке в веб-плане. В случае Антона главное — не выдавать навигацию по форме за намерение начать отдельный выбор. Эта проверка не подтверждает весь процесс записи, оплаты или обработки заявок.