Атрибут type на <input> изменяет интерфейс, экранную клавиатуру (мобильную) и встроенную валидацию. Использование правильного типа улучшает удобство использования и обеспечивает бесплатную валидацию.
Атрибут type на <input> изменяет интерфейс, экранную клавиатуру (мобильную) и встроенную валидацию. Использование правильного типа улучшает удобство использования и обеспечивает бесплатную валидацию.
Мобильные клавиатуры адаптируются — type="email" показывает клавишу @, type="tel" показывает цифровую панель, type="number" показывает цифры. Это само по себе огромный выигрыш в удобстве использования на телефонах.
Бесплатная валидация — type="email" отклоняет not-an-email при отправке, min/max ограничивают числа, type="url" проверяет корректный URL — JavaScript не требуется.
<input type="radio" name="plan" value="free" /> Free
<input type="radio" name="plan" value="pro" /> Pro
<!-- same name = mutually exclusive; only one can be selected -->
Выбор правильного типа входа дает вам лучшие мобильные клавиатуры, встроенные селекторы и встроенную валидацию бесплатно — улучшая доступность и сокращая JavaScript, который вам пришлось бы писать.
Это небольшой выбор с огромным выигрышем в пользовательском интерфейсе.