2007-12-25

Ok/Cancel vs Cancel/Ok

Долгое время не мог найти объяснения, почему мигрирующий с *nix-ов окошечный софт, как правило, имеет в диалогах кнопку "Ok" справа. Каюсь, поверхностно грешил на общую гуевую криворукость юниксоидов. Сегодня поработав с добротно сделанным kuler-ом, увидел в окошке логина такое же решение. Кулер не идеал с точки зрения юзабилити, но ляпы там немного другого порядка, поэтому стало очевидно, что решение поместить кнопку "Ok" было не случайным. Помозговав немного построил для себя (позже подтвердившееся) объяснение: большинство пользователей читают слева направо и сверху вниз. Таким образом после просмотра диалога, пользователи первым делом натыкаются на часто используемую кнопку "Ok" (по сравнению с "Cancel").
Объяснить для себя "правый Ok" я так и не смог, поэтому сломав голову полез в гугл. Пояснение нашлось сравнительно быстро - сторонники "правого Ok" аналогично, аппилируя к опыту большинства, утверждают, что левая сторона и расположенная слева кнопка ассоциируются с термином "Назад", а правая "Вперед" (как косвенный аргумент приводится расположение кнопок вперед/назад в браузерах). К счастью, мнение (от Holger Maassen) было сформулировано достаточно нейтрально, чтобы моментально прийти к выводу, о глобальной неразрешимости этой проблемы - у обоих решений всегда будут свои сторонники и противники.


Помимо прочего, такая мелкая деталь ведет к возникновению проблем для создателей кроссплатформенных приложений - разные подходы, разные пользователи, разные ожидания. Эта головная боль даже нашла свое отражение в документации к QT


Во время поисков наткнулся на любопытный пост в котором автор кратко описывает "историю жизни" кнопок Ok/Cancel или более грамотно, с точки зрения юзабилити Primary/Secondary action.


А еще чуть позже нашел подробное пояснение для самых маленьких о причинах такой эволюции. Если кратко, то основной аргумент - желание выделить "Primary Action" без особого ущерба для "Secondary Action" (в качестве тяжелой артиллерии для аргументации такого решения привлекается Закон Фиттса). Кроме того, автор заметки рекомендует использовать вместо Ok/Cancel что-то более domain specific (в его примере "Save title"/Cancel).

Далее нашел замечательную статью LukeW: Primary & Secondary Actions in Web Forms. Специалисты (Luke Wroblewski & Etre) сделали шесть дизайнов страницы с различным расположением (и дизайном) кнопок Submit (Primary Action) и Cancel (Secondary action) и попросили 23-х человек, заполнить формы фиксируя действия пользователей. В результате оказалось, что предпочтительным является размещение Primary Action слева, на одном уровне с input-ами формы. Кроме этого, авторы рекомендуют семь раз подумать, а сильно ли требуется тот самый Secondary Action и если не сильно - моментально выкинуть его :)

И наконец, встретилась добротная статья из MSDN - Command Buttons. Увы, т.к. гайдлайн должен содержать только тезисные рекомендации для девелоперов, из статьи полностью выкинута вся аргументация.

Комментариев нет: