Контекст
Нужно оформить форму для сбора контактной информации пользователей, которые хотят подписаться на рассылку новостей конкретного департамента
Форма для сбора контактной информации
Это мое тестовое задание в ДИТ Правительства Москвы
Нужно оформить форму для сбора контактной информации пользователей, которые хотят подписаться на рассылку новостей конкретного департамента
Спроектировать удобную и понятную форму подписки, содержащую поля:
Учитывая задачу проекта, логично предположить, что форма будет использоваться на сайте Правительства Москвы, в состав которого входят департаменты. Поэтому первым делом я отправился изучать этот сайт и получать опыт заполнения уже существующих форм.
Во время изучения mos.ru мне не удалось посмотреть, как в формах работают поля для ввода личных данных, потому что они заполнялись автоматически. Поэтому я дополнительно изучил, как с такими задачами справляются другие сервисы и дизайнеры.
При проектировании я опирался на 3 ключевых принципа: простота, предсказуемость и масштабируемость решения. Для поддержания консистентности дизайна все шрифты, цвета и компоненты приведены в соответствие с актуальными формами сайта Правительства Москвы.
Использовал Golos Text (SemiBold, Medium, Regular). Для удобства сохранил все вариации в стили и разделил их на 3 группы: Mobile, Desktop и MultyPlatform.
При проектировании воспользовался Variables. Этот подход позволяет управлять цветами по смыслу, а не по значению и упрощает масштабирование и поддержку интерфейса.
Базовые значения цветов сохранил в Primitives.
В Tokens уже использовал семантические названия и ссылался на Primitives.
Компонентная система построена по принципу постепенного усложнения и разделена на три группы:
Такой подход позволяет переиспользовать элементы, поддерживать единый визуальный язык и легко масштабировать систему под новые задачи и сервисы.
Поле выбора департаментов вынесено в начало формы.
Это позволяет пользователю сразу понять контекст подписки и осознанно продолжить заполнение, а не вводить персональные данные до понимания цели.
Далее идут контактные данные:
Чекбокс согласия размещен перед кнопкой отправки — это привычный и ожидаемый паттерн для форм с персональными данными.
Также добавил важный шаг — подтверждение подписки. Это снижает неопределенность и дает уверенность, что действие выполнено успешно.
Форма спроектирована с учетом всех ключевых состояний:
Ошибки показываются локально над конкретным полем, адаптируясь под контекст, и обозначаются сразу, для упрощения безошибочного заполнения.
Реализовано через выпадающий список с чекбоксами и строкой поиска. Есть чекбокс для быстрого выделения и снятия выбора со всех пунктов. По умолчанию выбран вариант «Все департаменты», так как это исключает возможность ошибки (незаполненного поля) и снижает количество действий для части пользователей, при этом не ограничивая возможность точной настройки.
Изначально в полях установлены плейсхолдеры, они помогают пользователю понять, в каком формате необходимо вводить информацию. После начала ввода текста над полем появляется подсказка, чтобы у пользователя всегда было понимание требований.
В этом поле используется маска для ввода номера телефона — это инструмент, который заметно сокращает количество ошибок, облегчает жизнь пользователю и упрощает обработку информации на стороне бизнеса.
В результате получилась универсальная, простая и понятная форма подписки, которая соответствует требованиям задания и может быть легко встроена в существующую экосистему сайта Правительства Москвы.
Следующий шаг — провести UX-исследования и юзабилити тесты, чтобы проверить понятность формы, выявить ошибки и на основе данных повысить удобство и конверсию подписки.