При использовании изображений значков без текстовых надписей, должен ли значок представлять текущее состояние или следующее состояние? Например, у меня есть блок текста, который я хочу свернуть/развернуть, или я хочу переключить отображение всех пользовательских записей или только моих записей. Я уверен, что у каждой из сторон есть убедительные аргументы, и я знаю, что согласованность является ключевым фактором, но каковы аргументы, связанные с хорошим интуитивно понятным пользовательским дизайном?
Должен ли значок отображать текущее состояние или следующее состояние?
Ответы (5)
В этом нет ни стандартизации, ни общечеловеческой тенденции. Например, в Руководстве по взаимодействию с пользовательским интерфейсом MS Windows указаны четыре основных типа переключения постепенного контроля раскрытия информации< /а>. Три из четырех показывают состояние при активации, а один показывает текущее состояние.
Я считаю, что если вы протестируете определенный подход на своих пользователях, вы получите разные результаты в зависимости от того, о чем вы спрашиваете. Если вы покажете им элемент управления и спросите, в каком состоянии находится приложение, они склонны читать значок так, как если бы он указывал на состояние. Если вы покажете им элемент управления и попросите их изменить состояние (где в некоторых случаях состояние уже изменено), они прочитают значок, как если бы это было состояние, которого нужно достичь. Именно для этого и придумали переключающие кнопки.
Если вам повезет, пользователи используют значок в основном либо для чтения состояния, либо для установки состояния, а не для того и другого одновременно. Затем пусть значок указывает на то, для чего пользователи его используют.
Если они действительно используют его как для чтения состояния, так и для установки состояния, вы, по сути, обделены шлангом, но есть несколько вещей, которые вы можете попытаться свести к минимуму:
Используйте текст в дополнение к значку или вместо него. Когда элемент управления помечен глаголом (например, «Подключиться»), он указывает состояние, которое получает пользователь. Если он помечен прилагательным или существительным (например, «В сети»), он подразумевает текущее состояние.
Если ваша библиотека не поддерживает переключение значков, рассмотрите возможность использования флажка, если это разрешено.
Если ваша библиотека не поддерживает флажки, рассмотрите два элемента управления, по одному для установки каждого состояния, где текущее состояние отключено. Не слишком хорошо для чтения текущего состояния, но для этого есть некоторый приоритет в раскрывающихся меню.
Поиграйте с графическим дизайном или размещением, чтобы оно соответствовало выбранному вами значению. Например:
Командные кнопки всегда помечены действием, которое они совершают, поэтому, если ваш значок указывает на состояние, которое получает пользователь, придайте значку выпуклый вид, как командную кнопку. Если значок указывает на текущее состояние, придайте ему плоский вид.
Элементы панели инструментов обычно показывают состояние, которое они вызывают, поэтому поместите значок в верхней части окна, если он указывает на состояние, которое получает пользователь. Напротив, значки в «рабочей области» окна указывают на объекты или атрибуты, поэтому значки там должны отображать текущее состояние. Значки в нижней части окна (в строке состояния) также должны отображать текущее состояние.
Это не было действительно стандартизировано. Значки папок, например, показывают открытые папки, когда они открыты, и закрытые папки, когда они закрыты. То же самое для треугольников раскрытия и т. д.
Однако в других контекстах это не всегда верно. В проигрывателе фильмов стрелка "Воспроизвести" показывает, когда фильм не воспроизводится, и значок паузы, когда он воспроизводится. Вероятно, лучше всего исходить из здравого смысла, а затем опросить пользователей. Если большинство людей, которых вы тестируете, сбиты с толку вашим выбором значков, поменяйте их местами. Затем проверьте их снова и посмотрите, выдержит ли ваш первоначальный тест. :)
Если у вас будет только одна кнопка для переключения между двумя состояниями, то кнопка должна представлять следующее состояние, потому что это действие, которое кнопка будет выполнять при нажатии.
Вы привели пример текста, который свернут/развернут. Подумайте о любом расширяемом древовидном интерфейсе, который вы когда-либо видели в Windows. Рядом с свернутым деревом стоит значок [+], потому что при нажатии на кнопку дерево разворачивается. И по той же причине рядом с развернутым деревом стоит [-].
Вы также можете попробовать сделать переключатель, который подсвечивается или «нажимается», как говорит Михи, но это может сбивать с толку.
Я предпочитаю подход «следующее состояние» (нажмите «плюс», чтобы развернуть, нажмите «минус», чтобы свернуть). Одна из причин заключается в том, что это наиболее широко используемый подход, поэтому любые другие действия могут запутать пользователей (и меня тоже). Другая причина заключается в том, что подход «следующее состояние» выглядит более привлекательным для пользователя.
Могу ли я представить кнопку отключения звука Zoom:
Он показывает текущее состояние в виде значка и действие, которое произойдет при нажатии кнопки, в виде текста. Другими словами, значок на кнопка — это текущее состояние, а метка на кнопке — это новое состояние. Текущее состояние и новое состояние являются противоположностями, поэтому кнопка кажется противоречащей самой себе, если вы не прочитаете ее очень внимательно.
(Ненавижу эту кнопку.)