Неправильно ли, чтобы контекстное меню (щелчок правой кнопкой мыши) было единственным способом, которым пользователь может выполнить определенную задачу? - PullRequest
9 голосов
/ 15 июня 2010

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

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

Screen Shot

На снимке экрана показано контекстное меню, которое я создал для браузера.Некоторые команды могут быть выполнены независимо от какого-либо конкретного каталога (New, Add).Тем не менее, другие команды должны быть применены к специально выбранному каталогу (Закрыть, Открыть, Удалить, Только чтение, Обновить, Очистить, Переименовать).

В настоящее время меню «Каталог» в верхней части окна выглядит идентичноэто контекстное меню.Тем не менее, я думаю, что это может сбить с толку пользователей, поскольку древовидное представление, отображающее выбранный в данный момент каталог, может быть не всегда видимым.Пользователь, возможно, переключился на вкладку «Поиск» или «Фильтры», или левая панель может быть полностью скрыта.

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

Ответы [ 5 ]

8 голосов
/ 15 июня 2010

Рекомендации по взаимодействию с пользователем для Windows 7 и Windows Vista (pg233):

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

В Руководстве Apple по интерфейсу пользователя говорится (стр. 189):

«Всегда проверяйте, чтобы пункты контекстного меню также были доступны в виде команд меню [раскрывающегося меню]. Контекстное меню по умолчанию скрыто, и пользователь может не знать, что оно существует, поэтому оно никогда не должно быть единственным способом доступа к команде. ”

В вашем случае открытие и закрытие каталога уже доступно с помощью кнопок +/- в самом дереве, поэтому вы уже согласны с рекомендациями Windows, если не с рекомендациями Apple. IMO, единственная причина поместить их в контекстное меню вообще, если они являются действием по умолчанию (двойной щелчок) (что они не прямо сейчас). Переименование также может быть уже доступно путем непосредственного выбора имени выбранного каталога, но вам может потребоваться пункт раскрывающегося меню для этого, так как это может быть не более доступным, чем контекстное меню. Остальные команды, вероятно, принадлежат выпадающему меню в дополнение к контекстному меню.

Поскольку раскрывающееся меню Каталога является избыточным с контекстным меню Каталога, вы можете рассмотреть возможность организации раскрывающихся меню по типу действия , а не по классу объекта, чтобы обеспечить альтернативу организация. Как вы уже поняли, контекстные меню уже организуют команды по классам объектов. В дополнение к предоставлению альтернативной организации, которую некоторые из вас могут найти более интуитивно понятной, это может упростить вашу панель меню. Например, вместо меню «Каталог» и «Семейство» у вас может быть одно меню «Правка» с «Добавить», «Удалить», «Переименовать», «Копировать» и т. Д., Где эти команды применяются ко всему выбранному, будь то каталог, папка или семейство. Если они не применяются к текущему выбору, они отключены, но если это имеет смысл в вашем приложении, примените их.

Кстати, в чем разница между Добавить каталог и Новый каталог?

3 голосов
/ 15 июня 2010

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

Из вашего описания может показаться, что имеет смысл иметь меню «Каталог», которое отключаетварианты, которые в настоящее время не актуальны.Например, если каталог не открыт, пункт меню «Закрыть» будет недоступен.Аналогично, пункты «Открыть», «Удалить», «Обновить» и т. Д. Будут выделены серым цветом, если каталог не выбран.

0 голосов
/ 15 июня 2010

Да.Одной из ключевых особенностей пользовательского интерфейса является «обнаруживаемость»: может ли пользователь найти функцию?

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

0 голосов
/ 15 июня 2010

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

Как правило, я всегда рассматривал меню правой кнопки мыши как избыточный (т.е. не необходимый для работы программного обеспечения) ярлык для функциональности«продвинутые пользователи».

0 голосов
/ 15 июня 2010

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

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

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