Не скрывать или отключать пункты меню?

В 2008 году Joel Spolsky написал :

  

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

     

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

     

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

Это интересная идея, но я бы хотел, чтобы он подробно остановился на том, что он подразумевал под «отображением сообщения, объясняющего пользователю почему».

Кто-нибудь действительно следовал этому совету? Существуют ли какие-либо примеры меню, отображающие сообщение вместо отключения элемента меню - возможно, что-то, что вы разработали сами, или что-то из Fog Creek?

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

65 голосов | спросил Patrick McElhaney 14 +04002011-10-14T17:17:01+04:00312011bEurope/MoscowFri, 14 Oct 2011 17:17:01 +0400 2011, 17:17:01

6 ответов


64

Он делает несколько точек различной достоверности в этом сообщении:

Объясните, почему элемент отключен: Отличный совет, который почти никто не следует! Поиск в Google «greyed out menu», и вы найдете кучу людей, которые задаются вопросом, почему их пункты меню отключены, потому что приложение не сообщает . Предоставляя им информацию, когда они нависают над отключенным элементом или пытаются щелкнуть по нему, это отличный способ уменьшить путаницу и поддерживать вызовы. Документы Google делают это хорошо, этот маленький парень появляется, если вы пытаетесь нажать кнопку «Сохранить», потому что это не кнопка; он автосохраняется!

введите описание изображения здесь>> </p>

<p> <strong> Скрытие элементов </strong>. Как правило, это плохая идея, особенно в настольных приложениях. Скрывая элементы только потому, что пользователь не может их использовать, часто помогает им узнать, что элемент  не существует , и если они его видят, они могут не знать , почему  это doesn В половине случаев. Представьте, если половина интерфейса MS Word  исчезла  каждый раз, когда вы переключались с таблицы в точку маркера до нижнего колонтитула! </p>

<p> Есть две ситуации, в которых скрытые элементы могут быть хорошими, хотя: когда это веб-страница /приложение или когда элемент отключен по соображениям безопасности. В контексте безопасности пользователь более низкого уровня может никогда  иметь  доступ к этим функциям, а в некоторых случаях даже их отображение нежелательно, когда вы не хотите, чтобы пользователи знали, что некоторые вещи возможны (например, меняют мое имя ЭСТ). </p>

<p> Если пользователь <strong> никогда не сможет использовать элемент </strong>, просто скройте его и сохраните его чистым и простым. Такие элементы часто встречаются на веб-страницах и почти всегда скрыты до тех пор, пока пользователь не будет аутентифицирован. </p>

<p> Android <a href= Руководства по пользовательскому интерфейсу рекомендуют отключить пункты меню, которые не могут использовать и скрывать их только в том случае, если они входят в контекстное меню . Контекстные меню все время меняются.

Отключение элементов . По причинам, упомянутым выше, отключить пункты меню, но не скрывать их, позволяет пользователям просматривать все параметры. Как указано в руководстве Android, «затемнение» или, более часто, вычеркивание элемента дает понять, что элемент не используется, поэтому я могу сразу увидеть, что я не могу использовать ни один из следующих параметров (в GIMP):

введите описание изображения здесь>> </p>

<p> Это 14 параметров, которые я вижу с первого взгляда, отключены. Его предложение состоит в том, чтобы сделать его <strong> показанным, я могу использовать невозможные варианты? </Strong> Ни в коем случае. Окрашивание предметов позволяет мне сразу увидеть, могу ли я или не могу что-то делать. Мне не нужно нажимать на каждый элемент, чтобы определить, работает он или нет. Вот почему мы их серой. </p></body></html>

ответил Ben Brocka 14 +04002011-10-14T18:00:30+04:00312011bEurope/MoscowFri, 14 Oct 2011 18:00:30 +0400 2011, 18:00:30
34

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

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

введите описание изображения здесь>> </p>

<p> <img src =

Дополнительное сопровождение с помощью F1 очень контекстно-зависимой справки - дополнительный бонус.

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

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


Для тех, кто имеет технический интерес, читайте дальше:

Этот механизм основывался на внутренней структуре, называемой менеджером состояний :

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

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

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

Все состояния системы описываются сообщением с именем reason - то есть причиной, по которой установлено состояние, или причиной, по которой состояние не установлено.

При изменении состояния системы диспетчер состояний автоматически обновляет включенное состояние элемента управления и вставляет или удаляет причину из всплывающей подсказки (для этого требуется базовая логика tooltip builder ).

В случае необходимости можно объединить несколько причин для отключенного состояния.

ответил Roger Attrill 14 +04002011-10-14T17:58:24+04:00312011bEurope/MoscowFri, 14 Oct 2011 17:58:24 +0400 2011, 17:58:24
2

Итак, кнопка «next track» должна быть включена, даже если плейлист пуст и ничего не играет? И кнопка сохранения должна быть включена, даже если документ не загрязнен, чтобы пользователи никогда не знали, есть ли у них какая-либо несохраненная работа?

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

ответил Assaf Lavie 14 +04002011-10-14T17:50:33+04:00312011bEurope/MoscowFri, 14 Oct 2011 17:50:33 +0400 2011, 17:50:33
2

" Предотвращение ошибок

Даже лучше, чем хорошие сообщения об ошибках, - это тщательный дизайн, который предотвращает возникновение проблемы в первую очередь. Либо устраните условия, подверженные ошибкам, либо проверьте их и представите пользователям вариант подтверждения, прежде чем они совершают действие ». - Якоб Нильсен

http://www.useit.com/papers/heuristic/heuristic_list.html

Я думаю, что это зависит от ситуации, если это хорошая идея скрыть элемент или сделать его отключенным.

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

ответил Henrik Ekblom 14 +04002011-10-14T18:22:24+04:00312011bEurope/MoscowFri, 14 Oct 2011 18:22:24 +0400 2011, 18:22:24
2

Microsoft OneNote не имеет кнопки «Сохранить», потому что она автоматически сохраняет файл, что имеет смысл одним способом, но может быть немного запутанным, потому что все остальные приложения MS Office сохраняют его. Независимо от того, имеет ли это смысл или нет, последовательность является, безусловно, важным фактором. Если вы отключите его в некоторых местах и ​​спрячете в других, пользователю будет очень сложно определить, что делать самому.

ответил Michael Lai 4 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 04 Sep 2013 07:53:05 +0400 2013, 07:53:05
1

Я думаю, что если контекст будет легко понят, отключение без намеков на то, что это хорошо.

Помните помощь в шаре в MacOS? Apple поощряла нас писать воздушные шары для инвалидов, начиная с 1991 года и вперед. Microsoft этого не сделала. Но, как сказано выше, подсказки инструментов работают только в том случае, если у вас есть событие наведения, а не при касании.

Для более сложных сценариев объяснение, почему элемент отключен и что пользователь может сделать для его включения, отлично подходит для понимания того, как работает приложение.

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

ответил Hans Fast 7 +04002014-10-07T17:38:48+04:00312014bEurope/MoscowTue, 07 Oct 2014 17:38:48 +0400 2014, 17:38:48

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132