Форма теряет заявки не из-за цвета кнопки, а из-за трения: лишних полей, исчезающих подсказок, неудобной клавиатуры на телефоне и ошибок, которые ругают раньше, чем человек закончил печатать. Оставьте только нужные поля в одну колонку, подпишите каждое над полем, включите автозаполнение и правильные типы ввода, проверяйте данные после ухода из поля и пишите ошибки как подсказки. А рядом с формой дайте альтернативу — в Казахстане это часто WhatsApp.
После материала вы сможете
- сократить форму заявки до полей, нужных до первого контакта, и явно отметить необязательные
- подобрать полям type, inputmode и autocomplete для нужной клавиатуры и автозаполнения на телефоне
- показывать ошибки валидации после ухода из поля и формулировать их как подсказку, что исправить
- проверить форму перед запуском по чек-листу из девяти пунктов
Что знать заранее
Содержание
Каждое поле — вопрос, который нужно оправдать
Самый действенный способ улучшить форму — убрать из неё лишнее. Каждое поле — это ещё одно усилие, ещё один повод задуматься «а зачем им это?» и закрыть вкладку. Baymard Institute в исследованиях оформления заказа приводит среднее число полей — 11,3 — и разбирает, как сокращать их без потери нужных данных.
Обычно спрашивают
- Имя, фамилию и отчество отдельными полями
- Телефон и email одновременно, оба обязательные
- Город, компанию, должность, бюджет
- «Откуда вы о нас узнали?»
- Повтор email «для проверки»
Достаточно для первой заявки
- Одно поле «Как к вам обращаться»
- Телефон — или выбор: телефон или WhatsApp
- Короткий вопрос о задаче, по желанию
- Остальное менеджер уточнит в разговоре
- Источник заявки лучше брать из аналитики, а не спрашивать
Если без поля не обойтись, но заполнять его не обязательно, отметьте это явно. Baymard по итогам тестов оформления заказа рекомендует помечать и обязательные, и необязательные поля — тогда человек не гадает, что можно пропустить.
Раскладка: одна колонка и подписи над полями
Форма читается сверху вниз. Когда поля стоят в две-три колонки, глаз прыгает зигзагом и легко пропускает строку; Baymard в тестах отмечает, что многоколоночные формы заметно затрудняют заполнение. Исключение — короткие связанные поля, вроде «Срок действия» и «CVC» карты.
Подпись (label)
- Где
- Над полем, видна всегда
- Зачем
- Человек помнит, что вводит, даже когда поле уже заполнено
Плейсхолдер
- Где
- Внутри поля, исчезает при вводе
- Зачем
- Только пример формата: «+7 700 000 00 00»
Подсказка
- Где
- Под полем
- Зачем
- Требования: «Не меньше 8 символов»
Nielsen Norman Group прямо называет плейсхолдеры вместо подписей вредными: текст пропадает в момент ввода, проверить себя нечем, а светло-серые буквы плохо читаются. W3C в руководстве по доступным формам тоже требует подпись, программно связанную с полем, — её зачитывают экранные дикторы, а клик по ней ставит курсор в поле.
Клавиатуры, маски и автозаполнение
Большинство заявок сегодня оставляют с телефона. Правильный тип поля сам открывает нужную клавиатуру, а атрибут autocomplete позволяет браузеру подставить сохранённые данные одним касанием. Оба механизма описаны в MDN и в рекомендациях web.dev по формам.
Имя
- Разметка
- autocomplete="name"
- Что получает пользователь
- Браузер предлагает сохранённое имя
Телефон
- Разметка
- type="tel", autocomplete="tel"
- Что получает пользователь
- Цифровая клавиатура и подстановка номера
- Разметка
- type="email", autocomplete="email"
- Что получает пользователь
- Клавиатура с «@» и подстановка адреса
Сумма, количество
- Разметка
- inputmode="decimal" или "numeric"
- Что получает пользователь
- Цифры без переключения раскладки
Код из SMS
- Разметка
- autocomplete="one-time-code"
- Что получает пользователь
- Телефон предлагает код из пришедшего сообщения
Валидация: когда и как сообщать об ошибке
Validation — проверка введённых данных. Проверять стоит сразу у поля, а не только после нажатия «Отправить», но важен момент. Baymard описывает типичную ошибку — «преждевременную» проверку, когда поле краснеет, пока человек ещё печатает. Nielsen Norman Group тоже называет раздражающим сообщение об ошибке до того, как дали закончить ввод.
Пока человек печатает — молчим
Исключение — сложные требования вроде пароля: там полезно показывать, какие условия уже выполнены.
Ушёл из поля — проверяем
Ошибка появляется рядом с полем, а не в общем списке вверху страницы.
Исправил — сразу убираем ошибку
Не заставляйте нажимать «Отправить» ещё раз, чтобы красная рамка исчезла.
При отправке — ведём к проблеме
Фокус переходит на первое поле с ошибкой, введённые данные остаются на месте.
Ошибка-упрёк
- «Неверный формат»
- «Поле заполнено некорректно»
- «Ошибка валидации»
- Красный текст без пояснений
Ошибка-подсказка
- «Введите номер из 10 цифр после +7»
- «В адресе почты не хватает @»
- «Выберите дату не раньше сегодняшней»
- Пояснение, как исправить, рядом с полем
Длинные формы: шаги и прогресс
Бывает, что коротко не получится: анкета на кредит, запись к врачу с выбором услуги и времени, заявка на расчёт сложного проекта. Тогда форму делят на шаги — stepper form, — и каждый шаг отвечает на один вопрос.
- Показывайте, сколько шагов осталось: «Шаг 2 из 4» снимает тревогу «это надолго?»
- Начинайте с простого и интересного вопроса о задаче, а не с телефона
- Давайте вернуться назад, не теряя ответы
- Сохраняйте введённое, если человек случайно закрыл вкладку
- Перед отправкой покажите сводку, чтобы можно было проверить и поправить
Кнопка, экран «спасибо» и WhatsApp
Текст кнопки должен называть результат, а не действие с формой: «Получить расчёт», «Записаться на 14:30», «Забронировать столик» вместо безликого «Отправить». После нажатия кнопка блокируется и показывает, что заявка уходит, — иначе её нажмут дважды.
Экран после отправки — тоже часть формы. Скажите, что заявка получена, кто и как свяжется, и что можно сделать прямо сейчас: посмотреть кейсы, добавить событие в календарь, написать в мессенджер.
Чек-лист формы перед запуском
- Каждое поле нужно до первого контакта; необязательные отмечены
- Поля стоят в одну колонку, подписи — над полями и видны всегда
- Телефон открывает цифровую клавиатуру, работает автозаполнение
- Маска принимает номер с 8, с +7 и вставленный из буфера
- Ошибки появляются после ухода из поля, исчезают сразу после исправления и объясняют, что делать
- Кнопка называет результат и блокируется после нажатия
- Экран «спасибо» говорит, что будет дальше
- Есть альтернативный канал — WhatsApp или звонок, — и обращения из него не теряются
- Форма проверена на настоящем телефоне, а не только в браузере на компьютере
Хорошая форма — та, которую человек заполнил, не заметив, что заполнял форму.
Источники
- Baymard Institute — Checkout Optimization: 5 Ways to Minimize Form Fields in Checkout
- Baymard Institute — Usability Testing of Inline Form Validation
- Baymard Institute — Form Field Usability: Avoid Extensive Multicolumn Layouts
- Baymard Institute — E-Commerce Checkouts Need to Mark Both Required Fields and Optional Fields Explicitly
- Nielsen Norman Group — Placeholders in Form Fields Are Harmful
- Nielsen Norman Group — 10 Design Guidelines for Reporting Errors in Forms
- W3C WAI — Labeling Controls (Forms Tutorial)
- web.dev — Sign-up form best practices
- MDN — autocomplete HTML attribute
- MDN — inputmode HTML global attribute