December 27, 2022

Нужно ли выделять поля, обязательные для ввода?

В мире UX мы стараемся максимально упростить жизнь пользователей. Поэтому даже такой, на первый взгляд, неважный вопрос, нужно ли выделять обязательные поля, имеет значение.

Я изучил множество материалов на эту тему и могу сказать, что мнения на этот счёт разнятся.

На популярном ресурсе NNGroup я прочитал следующее: «Добавление звёздочки для выделения обязательных полей улучшает юзабилити форм для заполнения. Если вы отмечаете только необязательные поля, указывая, что остальные являются обязательными по умолчанию, такой подход вызовет затруднения при заполнении формы».

Они приводят множество причин, почему стоит отмечать обязательные поля и как это сделать. Я не буду копировать сюда всю статью, вы можете прочитать её самостоятельно.

Однако есть ещё одна известная книга на тему UI на русском языке. Её автор выступает против маркировки полей как обязательных по причинам, указанным ниже.

Почему не стоит использовать звёздочки (различные мнения)

Давайте рассмотрим причины.

Они выглядят слишком формально, им не хватает человечности. Мы разрабатываем дизайн для людей, а не для машин. Звёздочки — это «технозависимые» символы.

С позиции человека, звёздочка действительно может выглядеть формально, не совсем очевидно. Но люди настолько привыкли к этому символу, что я не думаю, что это большая проблема.

С философской точки зрения, возможно, такая позиция имеет смысл, но на практике в этом нет никакого смысла.

Звёздочки — WEB-изобретение. В операционных системах обычно их вообще не используют.

Интересное наблюдение.

Но я понял, что в операционных системах большинство форм связано с настройками, где вы выбираете опции, а не с отправкой данных на серверы.

В большинстве случаев эти формы состоят из выпадающих списков, переключателей и чекбоксов и имеют предопределённое количество опций. Поэтому все они обязательные по умолчанию.

В большинстве форм все поля должны быть обязательными. Если поле не является обязательным, его можно вообще не включать в форму.

Это верно. Если есть возможность не спрашивать пользователей о чём-то, лучше не спрашивать вообще. Поэтому в идеале все поля всегда должны быть обязательными для заполнения. В таком случае будет очевидно, что мы просим пользователя заполнить все поля. Но это идеальный мир, в реальности всё может быть сложнее.

Если поле не является обязательным, но мы хотим, чтобы люди его заполнили, можно указать эту просьбу под полем.

Ещё один интересный подход. Автор показывает пример, в котором есть поле для ввода URL-адреса сайта, а в его названии написано «Адрес сайта, если он у вас есть». Или же в названии можно написать «Адрес сайта», а под полем разместить подсказку: «Если он у вас есть».

С одной стороны, этот подход кажется более естественным и напоминает вопрос из реальной жизни, когда вы спрашиваете: «Можно мне карамельный сироп, если он у вас есть?».

С другой стороны, в силу привычки мы, вероятно, быстрее поймём, является поле обязательным или нет, взглянув на звёздочку или надпись «опционально».

Это связано с законом Якоба: «Пользователи предпочитают, чтобы ваш сайт работал так же, как и все остальные».

Можно разделить обязательные и необязательные поля.

На мой взгляд, это хороший приём. Сначала попросите заполнить обязательные поля, а необязательные расположите следом за ними. Используйте визуальное разделение, обеспечьте правильное восприятие полей (пользователи должны сразу понимать, что они необязательные), присвойте полям соответствующие названия. Так вы сможете убрать звёздочки, которые перегружают форму для заполнения.

Отключение кнопки «Отправить»

Другой вариант — сделать кнопку «Отправить» неактивной до того, как пользователь заполнит форму.

Это опасный шаг. Бывают ситуации, когда это работает (например, верификации по номеру телефона или согласие с условиями и положениями), но в целом это считается антипаттерном.

Заключение

Не забывайте, что есть формы, которые не требуют указания звёздочек.

Такие поля ввода, как логин, реквизиты кредитной карты и, возможно, некоторые другие уже стали привычными для пользователей и не нуждаются в пояснениях.

То же самое относится и к форме с одним полем и явным указанием на то, что вы просите заполнить именно его. Например, форма верификации по номеру телефона предполагает, что всё, что вам нужно — ввести проверочный код.

Такие формы обычно содержат соответствующий контекст, например, заголовок и подсказки.

В целом, я думаю, что необходимость выделять поля, обязательные для ввода, зависит от формы обратной связи и отдельной ситуации. Я не сторонник выделять каждое поле как обязательное, если форма ввода включает десятки полей. Помните, что помимо закона Якоба, существует так называемый эстетический эффект юзабилити.