Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Инструкции по интерфейсу пользователя OS X

iBook
На этой странице

Взаимодействие и ввод

Поддерживайте клавиатуру

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

image: ../Art/keyboard_prefs_2x.png

Обеспечьте альтернативы только для клавиатуры. Много людей предпочитают использовать клавиатуру для использования мыши или сенсорной панели. Другие, такие как пользователи VoiceOver, должны использовать клавиатуру. Существует два основных способа поддерживать пользователей клавиатуры:

  • Уважайте ярлыки стандартной клавиатуры и создайте специфичные для приложения ярлыки для часто используемых команд.

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

Избегите переопределять пользователей ярлыков стандартной клавиатуры, знакомы с. Пользователи ожидают, что эти ярлыки будут означать ту же вещь в каждом приложении, которое они используют. Стандартные ярлыки также перечислены в Таблице 68-3. Стандартные ярлыки не отмечены с символом Apple, показанным здесь.

image: ../Art/ks_apple_icon_2x.png

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

Не чувствуйте, что необходимо создать ярлык для каждой команды в приложении. При попытке сделать это, то Вы, вероятно, закончите с некоторыми ярлыками, которые неинтуитивны, трудно для запоминания, и физически трудный выполнить. Вместо этого идентифицируйте наиболее часто используемые команды в своем приложении и создайте логические ярлыки для них. Исследуйте Таблицу 68-3 на символы и комбинации, не резервирующиеся OS X или обычно использующиеся.

Жесты могут улучшить пользовательский опыт

Сенсорная панель дает людям другой способ переместить указатель и активировать элементы UI. Кроме того, OS X поддерживает Мультисенсорные жесты, который позволяет людям использовать сенсорную панель для выполнения действий, таких как раскрытие Управления полетом, переключение на различное полноэкранное окно или рабочий стол и возврат предыдущей странице в приложении. Пользователи ожидают быть в состоянии использовать эти знакомые жесты по всей системе, и в приложениях они загружают.

image: ../Art/gesture_prefs_2x.png

Обратите внимание на значение жеста, не к физическим движениям, которые делают пользователи. Другими словами, вместо того, чтобы подготовить реагировать на с тремя пальцами сильно ударяют, быть подготовленным реагировать «переходят к предыдущей странице” жест. Пользователи могут также изменить физические движения, выполняющие поддерживаемые системой действия, таким образом, Ваше приложение должно слушать жест тот OS X отчеты.

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

Избегите переопределять жесты межприложения в масштабе всей системы. Даже когда пользователи играют в игру, которая могла бы использовать специфичные для приложения жесты пользовательским способом, они ожидают быть в состоянии использовать жесты в масштабе всей системы для выполнения действий, таких как раскрытие Управления полетом или переключение на другое настольное или полноэкранное окно. (Обратите внимание на то, что пользователи могут изменить точные жесты, выполняющие эти действия в установках системы Сенсорной панели.)

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

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

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

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

Сделайте вводящий текст простым

Большинство приложений должно поддерживать ввод текста в некоторой форме. Это - хорошая идея сделать процесс максимально простым и удобным.

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

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

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

Сохраните конфиденциальность пользователей, поскольку они вводят пароль. В этой ситуации каждый символ пользовательские типы должны появиться как маркер. Если пользователь удаляет символ с клавишей Delete, один маркер удален из текстового поля, и точка вставки пятится один маркер, как будто маркер представлял фактический символ. Двойной щелчок по маркерам в поле пароля выбирает все маркеры, но не позволяет им быть скопированными. Когда пользователь покидает текстовое поле (путем нажатия Tab, например), число маркеров в текстовом поле должно быть изменено так, чтобы поле не отражало фактическое число символов в пароле.