Когда модальный интерфейс приемлем? - PullRequest
9 голосов
/ 30 сентября 2008

По большому счету, модальные интерфейсы сосут большие камни. С другой стороны, я не могу придумать лучшего способа обработки открытия файла ... или печати ... , и это, я думаю, потому что

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

Давайте составим небольшое руководство по стилю. Предложите любые варианты использования, в которых диалог является предпочтительной презентацией и почему он предпочтителен. Может ли диалог быть немодальным? Если это так, как вы маркируете границы транзакций, так как Отмена перестает иметь четкое значение Например, вы используете кнопку «Применить»?

Ответы [ 5 ]

14 голосов
/ 30 сентября 2008

IMO, модальные интерфейсы должны использоваться только тогда, когда вы ИМЕЕТ , чтобы разобраться с тем, что диалог делает или запрашивает, прежде чем приложение сможет продолжить работу. В любое другое время, если вы используете диалог, он должен быть немодальным.

5 голосов
/ 30 сентября 2008

При работе с немодальными окнами вы можете убедиться, что они уникальны: вам не нужны два одинаковых набора инструментов (например, в графической программе) или два идентичных диалоговых окна настроек (я видел это в продукте), что в лучшем случае сбивает с толку.

С другой стороны, я ценю, когда диалог поиска / замены не является модальным: я могу вернуться к документу и отменить последнее изменение, пропустить в другом месте и т. Д .; без потери текущих настроек.

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

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

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

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

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

  • Диалоги ввода параметров (пример: мастера рефакторинга. Anti-example: диалоги поиска)
  • Файловые операции
  • Подтверждение действия, которое приведет к немедленному разрушительному эффекту
0 голосов
/ 30 сентября 2008

Я думаю, что различие заключается в том, что если что-либо вообще может быть доступно пользователю в приложении, пока отображается диалоговое окно, то оно не должно быть модальным. Это включает в себя действия копирования / вставки. Лично я предпочел бы, чтобы диалоги file / open и print не были модальными. Я думаю, что модальные диалоги являются признаком слабого дизайна, необходимого зла, чтобы быстро вывести код за дверь.

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

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

...