Функциональность кнопок
Автор: Ярослав Бирзул \ Опубликовано 08 декабря 2007 года в категории Полезные заметки
Кнопка — инструмент очень важный, поэтому я пожалуй напишу о них еще раз. Но на этот раз говорить буду преимущественно о размерах кнопок. Наверняка каждого из вас довольно сильно раздражали маленькие кнопки, по которым еще нужно умудрится попасть. Такая себе тренировка на снайперские умения, да.
Вывод который сразу напрашивается сам — нужно увеличить размеры кнопок и всем будет красиво. На самом деле это далеко не так, и каждый случай нужно рассматривать отдельно. Ведь с размерами играться нужно очень осторожно — при неумелом использовании можно сместить центр общей композиции на макете, что чревато потерей интереса пользователя и соответственно его ухода с сайта.
Кнопка справа
Довольно часто используется в поисковых формах — там ей самое место, если судить по моих словам о кнопочной навигации. Я считаю, что если кнопка располагается справа от подлежащего ей поля не должна быть больше самого поля, потому что тогда акцент внимания пользователя будет смещен именно на саму кнопку, и процесс её нажатия, чем на обдумывания правильного поискового запроса, который, собственно, и является целью поиска.
Кнопка после формы
Данный тип расположения используется преимущественно когда пользователю требуется отправить какую-либо информацию для обработки на сервер — будь то регистрация, авторизация, заполнение анкеты, голосование в опросе, и множество других примеров. Разумеется и тут встает перед нами горой его величество «частный случай». Т.е. для каждого интерфейса нужно продумывать расположение кнопки отправки по-отдельности, но ничто не мешает мне рассмотреть несколько частных случаев.
1. Авторизация
Я думаю нужды объяснять каждому, что такое авторизация нет? Грубо говоря это «войти на сервис». Т.е. довольно стандартные 2 поля для ввода логина и пароля, и кнопка «Войти». Я, например, предпочитаю, когда кнопка большая и расположена справа от полей. Примерно вот так:
Хотя я совершенно не исключаю возможности поставит кнопку и под двумя полями.
2. Регистрация
Регистрация на сайте является явным примером структуры «множество полей + чекбокс + кнопка». Из множества комбинаций стоит выделить всего две.
Первая: когда поле находится каждый на своей строке, соглашение с правилами на своей, и кнопка соответственно тоже.
Вторая: когда поля группируются по надобности, соглашение с правилами и кнопка на отдельной строке, но вместе.
Лично я предпочитаю второй вариант, но не исключаю использование первого — он тоже достаточно удобен, тут уже дело вкуса.
3. Опрос
Я думаю вы часто видели на разнообразных сайтах не менее разнообразные опросники (например — «сколько вам лет?» — более идиотского опроса и придумать нельзя, аудиторию нужно определять до создания сайта, а не после).
Структур как уже повелось всего две. Имеются ввиду адекватные структуры, а не чушь вроде «кнопка голосования над пунктами выбора» (эдакий опрос для мазохистов).
Первая: сверху пункты выбора, снизу кнопка
Вторая: только пункты выбора, без кнопки.
Преимущества первой в том, что если человек нечаянно выбрал не тот пункт, опрос не начнет отправлять данные о проголосовавшем. Отправка начинается только после клика на кнопку.
Куда же поместить кнопку под опросом? Оптимальный вариант: на некотором расстоянии от пунктов голосования, но всё же достаточно близко, чтобы можно было понять, что это единое целое. Располагать лучше по середине, или с правого края, т.к. нажатие на кнопку переводит на следующий шаг.
4. Кнопки очистки
Я, вообще, противник разнообразных кнопок очистки, по меньшей мере без предупреждения. Нажмешь нечаянно, и будет лень заново кропотливо вводить данные. Но если без кнопки отмены (или очистки) никак не обойтись — делайте её на порядок меньше, чем остальные кнопки, и располагайте на расстоянии от кнопки, которая ведет на следующий шаг.
Защита от дурака:
Простым html мою идею реализовать довольно трудно, я даже пытаться не буду, но думаю сама концепция понятна — пока галочку не поставишь, кнопка «Удалить» активной не будет.
Существует еще немалое количество других ситуаций, но все предусмотреть, и тем более — описать, практически невозможно, поэтому я закругляюсь.
PS: А тем временем Миша Квакин пишет о киберкукушке, Аня Галкина размышляет над внешним видом, а Сергей Чаботько о рекламе онлайновых сервисов в офлайне.

Сергей Чаботько
Миша Квакин
Точка с запятой;
Guicci
Просто Tyomma
Юрий Дибров
WebMolot
Чернев
Юрий Ветров
Паша Коноплицкий
ARCHANG3L пишет нам 8 декабря, 2007 в 5:04
Интересно и позновательно, особенно понравилась идея “4. Кнопки очистки”, обязательно что нибудь с удалением замучу в таком виде.
GriZone пишет нам 8 декабря, 2007 в 5:24
Так как я начинающий, можно сказать дизайнер, то в плане создания интерфейсов мне приходилось сталкиватся с подобными вопросами.
Почитав статью открыл для себя интирессные вещив этом плане.
Спасиб за знания, Ярослав =)
dev пишет нам 8 декабря, 2007 в 9:18
Полностью согласен насчет размера кнопок. Многие дизайнеры забывают, что и маленькая кнопка может быть красивой. + про смысловую нагрузку тоже не стоит забывать.
Хорошоя статья.
Насчет очистки - понравилась идея с различным размером кнопок…. Идея с дополнительной защитой мне не очень близка, так как терпеть не могу всякие доп. проверки, хотя именно пользователи должны оценить, так как они очень часто ошибаются и увидев опять чистую форму очень огорчаются. Так что идея неплохая + реализация очень простая. Так что думаю можно попробовать и посмотреть на реакцию пользователей.
ZAV пишет нам 8 декабря, 2007 в 9:27
Насчет кнопки очистки — это да. Очень много раз было, настрочишь большой текст и заместо отправки тыкаешь очистить. Повторно, может быть, и напишешь сообщение, но очень сокращенно, не так как в первый раз. Идея с галочкой перед очистить зачотная.
atermath пишет нам 12 декабря, 2007 в 7:22
Приветствую!
1. Авторизация
- В описанном вами случае - не может ли возникнуть у человека иллюзия, что надо ввести только логин? В каких проектах эта схема применялась (просто интересно, как люди на это реагируют)
- возможны варианты расоложения горизонтально с подписями, горизонтально без подписей (с подписями в самих полях).
2. Регистрация
- второй вариант наиболее распространен, правда на нашем (компании) опыте - у ряда пользователей все-таки возникают вопросы
3. Опросы
- а есть варианты, при которых предпочтителен опрос без кнопок? Сталкивались ли вы с примерами? По негласному правилу “пользователь имеет власть над элементами” подтверждающая кнопка в таких случаях - непременный атрибут
4. Очистка
Как вариант вместо кнопки можно использовать ссылку и чекбокс - в этом случае ее найдут, если гарантированно будет нужна очистка (кнопка - достаточно сильный элемент)
Спасибо!
Ярослав Бирзул пишет нам 13 декабря, 2007 в 2:12
1, Не должно - ведь кнопка по размеру как раз закрывает собой оба поля, а не одно, так что пользователь должен всё понять на интуитиве. Подписи в самих полях - довольно хороший ход на мой взгляд, но никакой подписи в поле “пароль” не напишешь - звездочки будут.
2. Чтобы вопросов по заполнению не возникало - снабжайте маленькими подписями выше полей, чтобы не вводить людей в заблуждение.
3. Есть, когда-то встречал такие мазохистские решения.
4. А это уже я детально расписал в Пассивной защите от дурака
Пассивная защита от дурака | О юзабилити веб интерфейсов пишет нам 13 декабря, 2007 в 2:19
[...] связи с тем, что моя довольно простая, но удобная идея с защитой от удаления ненароком собрала множество [...]
E.V. пишет нам 27 декабря, 2007 в 1:35
По поводу пункта 4 - а чем Вас не устраивает окошко alert’a, с выбором потвердить удаление/отменить? Это же позволяет не плодить сущностей (в данном случае - checkbox’a ) в видимой для пользователей части сайта.
Ярослав Витязев пишет нам 27 декабря, 2007 в 7:24
Вот такая вот защита от дурака стоит в моем каталоге irdir.info.
Ярослав Бирзул пишет нам 28 декабря, 2007 в 9:15
E.V., сущности тут совершенно не причем, а алерты выводить - плохой тон, лучше уведомление с возможностью отката. Это в идеале. Но кроме gmail я такого идеала больше нигде не видел.
Ярослав Бирзул пишет нам 28 декабря, 2007 в 9:16
Ярослав, хорошая идея :) Мне нравится.
Ярослав Витязев пишет нам 29 декабря, 2007 в 6:57
Мы оказывается еще и тезки. :)
Ярослав, здесь есть одна проблема в этой реализации (с таймером) - пользователь может открыть эту страницу во вкладке… или еще каким-то образом проморгать эти 30 секунд, соответственно в этом случае все преимущества этого подхода теряются. В остальном защита работает.
Ярослав Бирзул пишет нам 29 декабря, 2007 в 11:27
Ярослав, кнопку нельзя открыть в новой вкладке, так что защита вполне себе работает :)
Ярослав Витязев пишет нам 30 декабря, 2007 в 11:37
Кнопку нельзя, а вот страницу, содержащую эту кнопку - легко. Т.е. человек (например в Firefox) нажимает среднюю кнопку мыши на элементе меню - страница открывается в новом окне в фоновом режиме и таймер уже пошел… спустя 30 секунд пользователь переходит на новую вкладку, в которой висит уже обычная кнопка. Шанс этой ситуации небольшой, но все же.
Ярослав Бирзул пишет нам 30 декабря, 2007 в 1:51
Так таймер идет на аяксе на той же странице с кнопкой. Что тут можно открыть в новой вкладке? :)
Ярослав Витязев пишет нам 30 декабря, 2007 в 2:20
Судя по всему мы говорим о разных вещах. :) Я говорил о реализации интерфейса удаления учетной записи в каталоге сайтов, где описанная проблема имеет место.
А теперь давайте вернемся к вашему сайту с аяксом. Пользователь выбирает случайно пункт удаления… открывает другую вкладку… или вовсе сворачивает окно браузера, а через некоторое время возвращается к нему - таймер отсчитал время, пользователю отображается обычная кнопка. Ситуация, как я и говорил, редкая и ей можно принебречь.
Ярослав Бирзул пишет нам 30 декабря, 2007 в 3:32
Да, я неверно понял тебя, благодарю :)
Этот случай действительно скорее исключение. Хотя можно поставить дополнительную вещь - таймер отсчитывает время, только если вкладка открыта. :) Я думаю это яваскриптом вполне реализуемо.
Гость пишет нам 1 января, 2008 в 10:26
Хорошая статья
Ярослав Бирзул пишет нам 1 января, 2008 в 10:41
Гость, благодарю.
Ярослав Бирзул пишет нам 3 января, 2008 в 9:43
E.V., вот - я нашел заметку, которую искал: Не используйте предупреждения
l`ogin пишет нам 23 января, 2008 в 9:22
1)здоровенная кнопка… зачем? все знают, что должна быть кнопка, и делать ее размером во всю форму,я считаю, глупо. В крайнем случае ENTER тоже работает.
4)
— я вообще против кнопки ОЧИСТИТЬ. Я ни разу в жизни не видел что б кто-нибудь ей пользовался. Зачем? Чтоб очистить все поля? В каком случае это может понадобиться? Я не могу себе это представить. пользователь чаще всего корректирует какие-либо поля но никогда не стирает все и не пишет заново.
— чекбокс рядом с кнопкой - жесть, извините, какая-то. Это еще более не понятно для пользователя. Что б узнать что будет если чекнуть надо чекнуть, а это лишнее действие. ИМХО не согласен.
Фотошопов пишет нам 24 февраля, 2008 в 10:17
Статья отличная, спасибо!
Ярослав Бирзул пишет нам 24 февраля, 2008 в 10:21
Пожалуйста )