Перейти к содержанию

Подробно о полях формы

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

Какие поля формы я могу использовать?

Чтобы обеспечить наилучший пользовательский опыт, обязательно используйте элемент и элемент type, наиболее подходящие для вводимых пользователем данных.

Помощь пользователям в заполнении текста

Чтобы предоставить пользователям поле формы для ввода текста, используйте элемент <input>. Он лучше всего подходит для ввода отдельных слов и коротких текстов. Для более длинного текста используйте элемент <textarea>. Он позволяет вводить несколько строк текста, а также облегчает пользователю просмотр введенного текста, поскольку этот элемент можно прокручивать и изменять его размеры.

По умолчанию <textarea> имеет изменяемый размер. Вы можете отключить изменение размера с помощью CSS и свойства resize: resize: none.

Однако люди могут захотеть видеть введенный ими текст сразу. По крайней мере, сохраните возможность изменять размер <textarea> по вертикали. Используйте resize: vertical, чтобы пользователи могли изменять размеры по вертикали, но не по горизонтали.

Подробнее о почему отключение изменения размера в <textarea> плохо для UX.

Убедитесь, что пользователи вводят данные в правильном формате

Хотите помочь пользователям ввести номер телефона? Измените атрибут type на type="tel" для <input>. Пользователи мобильных устройств получат адаптированную экранную клавиатуру, что позволит им быстрее и удобнее вводить номер телефона.

Для адреса электронной почты используйте type="email". Опять же, отображается адаптированная экранная клавиатура. Чтобы сделать поле формы обязательным для заполнения, используйте атрибут required. При отправке формы браузер проверяет наличие значения и его корректность: в данном случае это правильно отформатированный адрес электронной почты.

Подробнее о различных типах ввода. В них также предусмотрены встроенные функции проверки.

Помогите пользователям заполнить даты

Когда вы хотите начать свою следующую поездку? Чтобы помочь пользователям вводить даты, используйте type="date". Некоторые браузеры показывают формат в виде заполнителя, например yyy-mm-dd, демонстрируя, как вводить дату.

Все современные браузеры предоставляют пользовательские интерфейсы для выбора дат в виде переключателя дат.

Помощь пользователям в выборе опции

Чтобы пользователи могли выбрать или отменить выбор одного из возможных вариантов, используйте type="checkbox". Хотите ли вы предложить несколько вариантов? В зависимости от конкретного случая использования, возможны различные альтернативы. Сначала рассмотрим возможные решения, если пользователи должны иметь возможность выбрать только одну опцию.

Можно использовать несколько элементов <input> с type="radio" и одинаковым значением name. Пользователи видят сразу все варианты, но могут выбрать только один.

Другим вариантом является использование элемента <select>. Пользователь может прокрутить список доступных вариантов и выбрать один из них.

Для некоторых случаев, например, для выбора диапазона чисел, хорошим вариантом может быть <input> типа range.

Вы можете использовать CSS-свойство accent-color для изменения цвета элементов управления формы, в том числе <input type="range">.

Нужно ли предлагать возможность выбора нескольких вариантов? Используйте элемент select> с атрибутом multiple или несколько элементов input> типа checkbox.

Можно также использовать элемент <input> в сочетании с элементом <datalist>. Таким образом, получается комбинация текстового поля и списка элементов <option>.

Как вы решите проблему выбора нескольких элементов? Попробуйте реализовать различные варианты. Используйте элемент <select>, элемент <datalist>, multi-select custom element или создайте что-то совершенно другое.

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

Существуют и другие типы ввода для конкретных случаев использования.

Существует <input> типа color для предоставления пользователям возможности выбора цвета в поддерживаемых браузерах, а также различные другие типы. Для того чтобы пользователь мог ввести свой пароль, используйте <input> с типом type="password". Каждый введенный символ будет скрыт звездочкой ("*") или точкой ("•"), чтобы пароль нельзя было прочитать.

Хотите включить в данные формы уникальный токен безопасности? Используйте <input> с параметром type="hidden". Значение <input> с типом hidden не может быть увидено или изменено пользователями.

Чтобы дать пользователям возможность загружать и отправлять файлы, используйте <input> с type="file".

В <input> типа file также может быть разрешена одновременная загрузка нескольких файлов. Можно также указать, какие форматы файлов разрешены.

Подробнее о <input type="file">.

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

Помощь пользователям в заполнении формы

Существует множество элементов и типов форм, но какой из них выбрать?

Для некоторых случаев использования формы достаточно просто выбрать подходящий элемент и тип, например <input type="date">. Для других это зависит от ситуации. Например, можно использовать несколько элементов <input> с type="checkbox" или элемент <select>. Подробнее о выборе между listbox'ами и выпадающими списками.

В целом, обязательно тестируйте форму на реальных пользователях, чтобы найти оптимальный элемент и тип формы.

Ресурсы

Источник — Form fields in depth

Комментарии