budden писал(а):
Поэтому эта аналогия абсолютно не работает.
Мне кажется, вы не очень опытный проектировщик (или пользователь?) графических интерфейсов Windows.
Отвечу по двум фронтам. Во-первых, меню тоже можно использовать с клавиатуры - как главное меню приложения, так и контекстные. Во-вторых, работа мышью не означает медлительность и вдумчивость, мышью тоже можно делать быстрые автоматические действия.
Не соглашусь насчёт неважности положения пунктов меню при работе с мышью. Есть некоторые универсальные соглашения в Windows. Например, пункт Exit - всегда
последний в меню File. Пункт Properties - всегда
последний в контекстном меню. Если вы сделаете эти пункты
предпоследними, будут пользователи, которые по ошибке выберут последний пункт, просто потому что им не нужно вчитываться, чтобы попасть в крайний элемент. Даже если речь вести о вызове контекстного меню с клавиатуры (кнопкой App, которая рядом с правым Ctrl), то выбрать последний элемент - это просто нажать Вверх и Ввод. Это делается одним жестом большого, безымянного и указательного пальца (на классической клавиатуре со стрелочным блоком), что даже при средней сноровке не даёт времени на прочтение выбранного пункта.
Читать меню и выбирать пункт мышкой - это два независимых действия, и качество каждого из них зависит от усталости различных частей мозга, окружающей обстановки (шум, пожар) и т.п. Часто я могу кликнуть и заметить, что выбрал не тот пункт, чуть позже или почти одновременно, но достаточно, чтобы не успеть остановить палец. Распознавание зрительной информации происходит дольше, чем мелкая моторика рук.
Особенно заметно это бывает, когда нужно сделать много однообразных действий, остановившись на некотором элементе, которые заранее не виден и появится не скоро, но неожиданно. Через несколько секунд обычно впадаешь в такой транс повторяющейся моторики, что сигнал прекратить действие поступает слишком поздно, когда повторяющееся действие уже совершено в том числе и над тем объектом, который мы хотели обработать иначе.
К тому же, если человек уверенно владеет мышью - например, тренировался для этого специально как иные учатся печатать вслепую или просто хорошо играет в шутеры - то он вполне может выбирать пункты меню быстрее, чем успевает их прочитать. В этом случае перенос руки с мыши на клавиатуру также будет потерей времени. Кстати, некоторые люди работают в CAD-программах, где мышь используется более 90% времени, что означает 1) уверенное ею владение и 2) нежелание переносить руку на клавиатуру, если она в следующий момент опять будет нужна на мышке.
Наконец, представьте себе, что вы должны выбрать
первый пункт меню или субменю. Вы видите нужный пункт родительского меню и точно знаете, где появится субменю (для главного меню это снизу, для вложенного - справа). Опытный пользователь Windows знает, что поддерживается режим "нажал ЛКМ на меню - отпустил на выбранном пункте". То есть, можно выбрать нужный пункт за один клик, а не за два. Соответственно, вы наводите мышь на нужный вам пункт и нажимаете ЛКМ, затем делаете очень короткое движение туда, где появится субменю и отпускаете ЛКМ. И вот, вы выбрали пункт по памяти, опираясь на знание о его местоположении, не успев прочитать. Удобнее всего этот приём работает для выбора первого пункта из главного меню программы, потому что нажатие ЛКМ как раз помогает сместить мышь немного вниз, что превращает всю операцию в единый жест управления.
Понятно, что речь идёт не о тех пользователях, кто впервые видит меню и хочет отыскать, нет ли там нужной им команды, а об опытных пользователях, которые точно знают, что им нужно и где оно находится. Но в этом-то и состоит задача грамотно спроектированного интерфейса - дать пользователю возможность максимально ускорить свою работу через постепенное освоение всё более продвинутых техник и приёмов работы. Если меню постоянно меняется, наработка таких навыков становится попросту невозможной либо неоправданно затрудняется.
budden писал(а):
независимо от того, что написано в какой-либо книге.
Раскин знал, о чём писал.
(Edit: исправил опечатки.)