Правила отключения или скрытия пунктов меню - PullRequest
4 голосов
/ 17 сентября 2008

Вы когда-нибудь были в ситуации, когда функция меню, которую вы действительно хотите использовать, но не может вызвать ее отключение или, что еще хуже, исчезла вместе?

Существует аргумент для того, чтобы всегда оставлять меню включенными, а затем отображать сообщение пользователю, объясняющее, почему функция меню не может быть активирована при нажатии на нее. Я думаю, что в этом есть смысл, но, возможно, есть более разумный способ решения этой проблемы.

Мне было бы интересно услышать, что думают другие.

Ответы [ 8 ]

10 голосов
/ 17 сентября 2008

Если вы ссылаетесь на пост Джоэла Не скрывайте и не отключайте пункты меню , он пояснил в подкасте StackOverflow , что он намеревался предоставить информацию, а не диалог - говорит вам, почему пункт меню ничего не делает:

Итак, сценарий использования, о котором я думал, вы упомянули, что в проигрывателе Windows Media вы можете воспроизводить вещи быстрее, когда слушаете подкасты и т. Д., И это ускорит их. И когда я заглянул туда, это было отключено. И я не мог понять, как включить это. И, очевидно, файл справки не является справкой - не то, чтобы кто-то читал файлы справки, но даже если вы это сделали, вы не смогли найти ответ на этот вопрос. И это было своего рода разочарованием, и я бы предпочел, чтобы этот пункт меню был включен, и он просто сказал мне: «Я не собираюсь делать это прямо сейчас по следующей причине. Я отказываюсь делать это».

4 голосов
/ 17 сентября 2008

Как и в большинстве вопросов о юзабилити, ответ «это зависит». Это зависит от проблемной области, типа пользователя, важности функции и так далее. На ваш вопрос нет однозначного ответа.

Я думаю, что общее мнение таково: никогда не удаляйте полностью элементы из меню. Меню позволяют пользователю свободно обнаруживать, какие функции доступны, но если эти элементы скрыты или перемещаются, это не помогает пользователю. Кроме того, их перемещение делает невозможным овладение приложением, поскольку приходится постоянно сканировать меню на предмет, который вы хотите выбрать.

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

Например, если «Вставить» отключено, большинству пользователей компьютеров становится очевидно, что вставлять нечего. Однако, если у вас есть пункт меню «Frizzle the Bonfraz», и пользователь может не знать, что такое Bonfraz или почему он может захотеть включить его, но не может, рекомендуется оставить его включенным хотя бы на некоторое время.

Итак, опять же, это зависит. Если это вообще возможно, делайте то, что считаете лучшим, а затем спрашивайте пользователей.

3 голосов
/ 17 сентября 2008

Чтобы немного обобщить (возможно, неправильно ...), какую из этих ситуаций вы бы предпочли:

  1. Чтобы оказаться на острове без лодки или моста. Конечно, вы можете поговорить с жителем деревни в городе, и он скажет вам волшебное слово, чтобы создать мост ... но вы не знали, что магия существует.
  2. Вы видите, что есть мост; однако, когда вы доберетесь до него, появится знак, указывающий, что мост не открыт для использования.
  3. Вы видите, что есть мост и празднуете! Когда вы добираетесь до конца моста, он говорит вам, что выход не открыт. Они должны вернуться.

Может быть, я предвзят, но я не верю, что лучше всего оставить включенные опции меню и позволить пользователю щелкнуть по нему. Это просто зря тратит время. У них нет возможности различить, доступен ли предмет или нет, пока они не нажмут на него. (Сценарий № 3)

Сокращение предмета все вместе имеет свои плюсы и минусы. Полностью скрыт, и вы рискуете, что пользователь никогда не обнаружит все эти функции; однако в то же время вам предоставляется возможность сделать ваше приложение «веселым» и «доступным для просмотра». Я всегда думал, что видимость действий больше подходит для таких элементов, как панели инструментов. Хорошим примером этого является случай, когда в некоторых приложениях панель инструментов с изображением появляется при нажатии на изображение ... и исчезает при нажатии на текст. В целом, я бы сказал, что что-то подобное лучше всего, если общее восприятие вашего приложения ведет к «открытию» и «изучению» отношения со стороны пользователя. (Сценарий № 1)

Как правило, я бы рекомендовал отключить элементы и предоставить пользователю всплывающую подсказку, информирующую их о том, как включить ее (или даже ссылку на справку?); однако, это не может быть преувеличено. Это должно быть сделано в меру. (Сценарий № 2)

В общем, когда пользователь может легко обнаружить действие, связанное с контекстом (то есть панель инструментов с изображениями), скрыть элементы. Если пользователь не может легко найти его, отключите его.

2 голосов
/ 17 сентября 2008

Сделайте его отключенным, но во всплывающей подсказке объясните, почему он отключен

0 голосов
/ 17 сентября 2008

Вы можете отобразить «причину» в строке состояния. Или, что еще лучше, используйте текст, который описывает действие и содержит информацию, когда такое действие возможно. Например, для пункта меню «Копировать» текст в строке состояния будет: Копировать выделенный текст. Обратите внимание на «выбранную» часть, которая сообщает пользователю, что ему нужно выбрать текст для включения пункта меню.

Другой пример инструмента, который я создаю, у нас есть пункт меню «Удалить базу данных», но это действие возможно только при подключении к нему. Таким образом, текст в строке состояния выглядит примерно так: «Удалить базу данных (только при подключении)».

0 голосов
/ 17 сентября 2008

Я никогда сам этого не понимал (я не программирую GUI). Почему вообще пункты меню скрыты или отключены? Это не интуитивно понятно для большинства пользователей, которые ищут конкретную опцию меню, чтобы найти ее отключенной или даже не присутствующей.

Всплывающие подсказки также не интуитивны. Если я перемещаю мышь по элементам меню, я не собираюсь останавливаться достаточно долго, чтобы получить подсказку. Я, скорее всего, разочаруюсь, что чего-то, что, как я ожидал, будет доступно через меню, там нет или оно отключено.

Тем не менее, я на самом деле не очень часто использую меню GUI. Я нахожу, что доступные опции часто бесполезны или доступны более интуитивно понятным способом, таким как общие сочетания клавиш.

0 голосов
/ 17 сентября 2008

Это зависит от ситуации. Если пункт меню применяется в текущем контексте, но недоступен из-за состояния, его следует отключить. Если контекст изменился и больше не применяется, его следует удалить.

0 голосов
/ 17 сентября 2008

Я всегда считал, что ты должен прятаться как можно больше. (Ваше приложение не должно быть более сложным, чем то, что пользователь может / должен делать.)

Если вы отображаете пункт меню, который пользователь не должен использовать, они могут щелкнуть по нему, но считают, что ваше приложение не работает, потому что ничего не происходит.

Я так думаю, по крайней мере ...

...