Мобильные формы: чем заменить выпадающие списки Статьи редакции
Советы UX-дизайнера из IBM Золтана Коллина.
Формы в виде выпадающих списков кажутся очевидным дизайнерским решением: их легко и дешево создать, они не занимают слишком много места, автоматически подтверждают введенную информацию, поддерживаются всеми браузерами и платформами, и пользователи уже к ним привыкли.
Дизайнеры чаще всего используют выпадающие списки не к месту, а по мнению директора по продукту Google Люка Вроблевски, к этому шаблону следует прибегать только в самом крайнем случае.
Давайте рассмотрим некоторые ограничения:
- Опции выпадающего списка невидимы до тех пор, пока пользователь не кликнет или не коснется формы. Кроме того, с первого взгляда невозможно предсказать, сколько строк будет в списке — две или пятьдесят.
- Выбор опции из выпадающего списка — это многоступенчатый процесс, особенно на мобильных устройствах: сперва пользователю нужно коснуться формы и открыть варианты, пролистать вниз и найти нужный, выбрать его и закрыть список.
- Из-за выпадающих списков дизайнеры становятся ленивыми, ведь это так просто — добавить все возможные опции в один перечень без какой-либо приоритизации. Из-за этого выпадающий список очень похож на другой шаблон — меню «гамбургер».
- Листать длинные списки, вроде выбора страны, — это кошмар. Особенно на мобильных устройствах, где поиск с клавиатуры обычно недоступен.
- На некоторых устройствах поле для отображения вариантов очень мало, поэтому пролистывание может превратиться в кошмар.
Хорошая новость заключается в том, что существует большое количество альтернативных элементов для ввода данных, которые во многих случаях сработают лучше выпадающих списков.
Оцените количество вариантов
Не стоит использовать выпадающие списки для решений, где требуется выбрать один из двух вариантов. Вместо этого попробуйте чекбокс или переключатель.
Для небольшого количества взаимоисключающих опций подойдет форма в виде радиокнопок или кнопок Segmented Control. Пользователь сразу увидит все доступные варианты, и ему не придется раскрывать список.
Используйте форму ввода с отфильтрованным выпадающим списком для большого количества точно определенных вариантов, когда пользователь точно знает, что ему нужно найти.
Для больших и разнообразных списков лучше использовать существующие пользовательские данные, чтобы в список попали популярные варианты ответа. В этом случае 90% пользователей смогут сразу выбрать необходимую опцию, а оставшиеся 10% — кликнут по варианту «Другое», который будет уточнен в следующем вопросе.
Оцените предпочтительную форму ввода
Одно из преимуществ выпадающего списка заключается в том, что пользователям не нужно много печатать. Однако если печатать нужно немного, и данные запрашиваются довольно часто (например, личная информация), то их удобнее вводить, а не выбирать из списка.
Говоря в целом, числовая клавиатура — самый эффективный способ ввести числовое значение.
Если вам важно подтвердить данные, которые вводит человек, используйте форму ввода с отфильтрованным выпадающим списком.
Это особенно важно, если порядок сортировки элементов списка ясен не до конца.
То же относится к списку стран.
Для целых чисел — например, количества пассажиров или товаров в корзине, — лучше всего использовать степпер. Он позволит пользователям увеличивать или уменьшать значение по одному клику.
Для дробных чисел или переменных, расположенных на шкале, лучше всего использовать слайдер.
Пользователям может быть неудобно указывать дату с помощью списка множественного выбора. Если речь идет о ближайшей дате, используйте календарь. Но никогда не используйте его для ввода даты рождения.
Подумайте, как можно сделать выпадающий список умнее
Конечно, вам не следует полностью отказываться от таких шаблонов: в некоторых случаях без них не обойтись. И это нормально, просто попробуйте сделать выпадающий список как можно более удобным для пользователей.
- Используйте понятное название формы, которое не потеряет смысла даже при раскрытом списке. Например, «Выберите тип» вместо «Пожалуйста, выберите».
- Сортируйте значения выпадающего списка в зависимости от пользовательских данных, выдвигая на верхние строчки самые популярные варианты. Или же поставьте самый популярный вариант по умолчанию.
- Смартфоны и браузеры собирают о пользователях множество информации, включая данные о местонахождении. Используйте ее для автозаполнения форм.
- Сократите количество полей и позвольте компьютеру сделать свою работу. Например, если человек вводит индекс, то компьютер должен сам распознать город и штат — незачем просить пользователя ввести эту информацию. То же самое — если человек вводит номер банковской карточки, система может сама понять — Visa у него или MasterCard.
- Используйте API других сервисов — зарегистрироваться через Facebook и оплатить через PayPal всегда проще, чем вводить данные вручную.
Чтобы узнать больше о разработке выпадающих списков, посмотрите лекцию известных UX-дизайнеров Голдена Кришны и Эрика Кэмпбелла с фестиваля SXSW.
Коротко: выпадающие списки для своих задач заменить нечем, их можно только улучшить.
Каким нужно быть ушлепаном чтобы сделать 5-значный ZIP код выпадающим списком)
Или выбор количества товара — так никто уже не делает.
сегодня пиццу заказывал, в корзине выпадающий список на количество, а 0 в нем для удаления объекта из корзины. плакал кровавыми слезами.
Да, тут я видимо погорячился. Ну бросьте им ссылку, если пиццуля вкусная)
Спросите сначала пользователя: Вы любите головоломки? Да/Нет/Хочу попробовать
И в зависимости от ответа загрузится соответствующий интерфейс.
Заставлять пользователя вбивать 4х значный год рождения с клавиатуры - это ад и садизм.
Проставлять в скролле 2018 год в качестве года рождения by default - тоже.
А какой год советуете проставлять по-умолчанию?
По мне так селекты с любым годом по-умолчанию -- ад и садизм.
Заставлять мобильных пользователей вбивать что-то с клавиатуры - плохая практика. Это долго и не удобно.
Для веба текстовые инпуты это ок, для мобайла это медленно и мучительно открывающаяся клавиатура, переключение раскладки на цифры (можно, конечно, бережно проставить content type, но сильно зависит от того, какая клавиатура включено у пользователя).
Плюс, всё таки, работа с цифровым блоком мобильной клавиатуры редко удобна в режиме работы одной рукой.
Селекторы дат ввиде скроллеров - не сильно приятнее, но значительно быстрее, если там есть нормальные default state, а не приходится листать год с начала времен.
Какую дату ставить по дефолту? Я бы сказал, что для дня и месяца это 15 и 6 соотв, для года - в зависимости от цели.
Условно, если вашему пользователю не может быть меньше 18 лет, то делать доступным выбор 2017 года в качестве даты рождения - так себе идея, можно ограничиться условным 2000.
очень спорно, если нужна реальная дата рождения, к примеру в приложении порнхаба, то нужно чтобы ручками вводили
а если пользователю невыгодно выставлять неправильную дату, к примеру в резюме, то можно и барабан использовать
Что руками, что в селекторах будут вбивать от балды. Просто руками это будет делать дольше и не удобнее.
Порнхабу нужно проверять, что пользователь старше условных 18 лет, достаточно поставить default state крутилок на 16 лет, 11 месяцев, 29 дней (или любое другое невалидное состояние) и все будет ок.
Таким образом пользователь, желающий вбить реальную дату - вобьет, пользователь желающий вбить рандомную дату, но удовлетворяющую требованиям сервиса - вобьет и сделает это быстрее, а пользователь желающий тупо кликнуть submit ничего не заполняя будет редиректнут на walt disney.
Комментарий удален модератором
Зачем делать 10 обращений на сервер? Кол-во товара подгружаете при загрузке страницы, а валидируете (что столько товара все ещё есть) - перед оплатой.
Комментарий удален модератором
Между + – ставлю инпут, а не просто число. Когда нужно ввести большое значение, люди вводят руками.