Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Узнайте, как разрабатывать и оптимизировать приложения Windows, чтобы они предоставляли лучшие возможности для пользователей клавиатуры и пользователей с ограниченными возможностями и других требований к специальным возможностям.
На разных устройствах ввод клавиатуры является важной частью общего взаимодействия с приложением Windows. Хорошо разработанный интерфейс клавиатуры позволяет пользователям эффективно перемещаться по пользовательскому интерфейсу приложения и получать доступ к его полной функциональности, не поднимая руки с клавиатуры.
Общие шаблоны взаимодействия совместно используются между клавиатурой и геймпадом
В этом разделе мы сосредоточимся на разработке приложений Windows для ввода клавиатуры на компьютерах. Однако хорошо разработанный опыт работы с клавиатурой важен для поддержки инструментов специальных возможностей, таких как экранный диктор Windows, включая использование программных клавиатур — сенсорной клавиатуры и экранной клавиатуры (OSK), а также для управления другими типами устройств ввода, такими как геймпад или пульт дистанционного управления.
Многие рекомендации и рекомендации, рассмотренные здесь, включая визуальные элементы фокуса, ключи доступа и навигацию пользовательского интерфейса, также применимы к этим другим сценариям.
ЗАМЕТКА В то время как аппаратные и программные клавиатуры используются для ввода текста, фокус этого раздела — навигация и взаимодействие.
Встроенная поддержка
Наряду с мышью клавиатура является наиболее широко используемым периферийным устройством на компьютерах, и, как это, является основной частью интерфейса пк. Пользователи пк ожидают комплексного и согласованного взаимодействия с системами и отдельными приложениями в ответ на ввод клавиатуры.
Все элементы управления UWP включают встроенную поддержку расширенных возможностей клавиатуры и взаимодействия с пользователем, а сама платформа обеспечивает обширную основу для создания интерфейсов клавиатуры, которые лучше всего подходят как для пользовательских элементов управления, так и для приложений.
UWP поддерживает клавиатуру с любым устройством
Основные впечатления
Как упоминалось ранее, устройства ввода, такие как игровая панель и удаленный контроль, а также средства специальных возможностей, такие как экранный диктор, используют большую часть интерфейса ввода клавиатуры для навигации и команд. Этот общий опыт работы с типами входных данных и средствами сводит к минимуму дополнительную работу и вносит свой вклад в достижение цели "собрать один раз и запускать везде" на универсальной платформе Windows.
При необходимости мы определим ключевые различия, которые следует учитывать и описывать любые способы устранения рисков, которые следует учитывать.
Ниже приведены устройства и инструменты, рассмотренные в этом разделе:
| Устройство или средство | Description |
|---|---|
| Клавиатура (оборудование и программное обеспечение) | Помимо стандартной аппаратной клавиатуры приложения Windows поддерживают две программные клавиатуры: сенсорную (или программное обеспечение) и экранную клавиатуру. |
| Игровой панель и удаленный контроль | Игровая панель и пульт дистанционного управления являются основными устройствами ввода в 10-футовом интерфейсе. Дополнительные сведения о поддержке Windows для игровой панели и удаленного управления см. в разделе "Игровой панель" и "Взаимодействие с удаленным управлением". |
| Средства чтения с экрана (экранный диктор) | Экранный диктор — это встроенное средство чтения с экрана для Windows, которое предоставляет уникальные возможности взаимодействия и функциональность, но по-прежнему зависит от базовой навигации и ввода с клавиатуры. Сведения о экранном дикторе см. в статье "Начало работы с экранным диктором". |
Пользовательские интерфейсы и эффективная клавиатура
Как уже упоминалось, поддержка клавиатуры является неотъемлемой частью обеспечения отличной работы приложений для пользователей с разными навыками, способностями и ожиданиями. Рекомендуем вам расставить приоритеты для следующего.
- Поддержка навигации и взаимодействия с клавиатурой
- Убедитесь, что элементы, доступные для действий, определяются как остановки вкладок (и недейственные элементы не являются), а порядок навигации является логическим и предсказуемым (см. вкладки остановок).
- Установка начального фокуса на наиболее логический элемент (см. начальный фокус)
- Предоставить управление навигацией с помощью стрелок для "внутренних навигаций" (см. Навигация)
- Поддержка сочетаний клавиш
- Укажите клавиши акселератора для быстрых действий (см. акселераторы)
- Предоставление ключей доступа для навигации по пользовательскому интерфейсу приложения (см. раздел "Ключи доступа")
Фокус на визуальные элементы
UWP поддерживает единый визуальный дизайн фокуса, который хорошо подходит для всех типов входных данных и возможностей.
Визуальный индикатор фокуса
- Отображается, когда элемент пользовательского интерфейса получает фокус с клавиатуры и /или геймпада или удаленного управления
- Отображается в виде выделенной границы вокруг элемента пользовательского интерфейса, чтобы указать, что можно предпринять действие.
- Помогает пользователю перемещаться по пользовательскому интерфейсу приложения, не сбиваясь с пути.
- Можно настроить для вашего приложения (см. визуальные элементы с высокой видимостью фокуса)
ЗАМЕТКА Визуальный элемент фокуса UWP не совпадает с прямоугольником фокуса Narrator.
Вкладка останавливается
Чтобы использовать элемент управления (включая элементы навигации) с клавиатурой, элемент управления должен иметь фокус. Один из способов получения фокуса клавиатуры — сделать его доступным через навигацию по вкладкам, определив его как стоп-вкладку в порядке вкладок приложения.
Чтобы элемент управления был включен в порядок вкладок, свойство IsEnabled должно иметь значение true , а свойство IsTabStop должно иметь значение true.
Чтобы исключить элемент управления из порядка вкладок, задайте для свойства IsTabStopзначение false.
По умолчанию порядок вкладок отражает порядок создания элементов пользовательского интерфейса. Например, если StackPanel содержит Button, Checkbox и TextBox, то порядок перехода по вкладкам — это Button, Checkbox и TextBox.
Вы можете переопределить порядок вкладок по умолчанию, задав свойство TabIndex .
Порядок вкладок должен быть логическим и предсказуемым
Хорошо разработанная модель навигации по клавиатуре с помощью логического и прогнозируемого порядка вкладок делает приложение более интуитивно понятным и помогает пользователям изучить, обнаруживать и получать доступ к функциям более эффективно и эффективно.
Все интерактивные элементы управления должны иметь остановки вкладок (если они не находятся в группе), а не интерактивные элементы управления, такие как метки, не должны.
Избегайте настраиваемого порядка вкладок, который заставляет фокус хаотично перемещаться по приложению. Например, список элементов управления в форме должен иметь порядок вкладок, который перемещается сверху вниз и слева направо (в зависимости от языкового стандарта).
Дополнительные сведения о настройке остановок вкладок см. в статье " Специальные возможности клавиатуры ".
Попробуйте координировать порядок вкладок и визуальный порядок
Согласование порядка вкладок и визуального порядка (также называемого порядком чтения или порядка отображения) помогает снизить путаницу для пользователей по мере перехода по пользовательскому интерфейсу приложения.
Попробуйте сначала расставить по приоритетам и представить наиболее важные команды, элементы управления и содержимое в табуляционном и визуальном порядке. Однако фактическое положение отображения может зависеть от родительского контейнера макета и определенных свойств дочерних элементов, влияющих на макет. В частности, макеты, использующие метафору сетки или метафору таблицы, могут иметь визуальный порядок, отличный от порядка вкладок.
ЗАМЕТКА Визуальный порядок также зависит от региональных настроек и языка.
Начальная фокусировка
Начальный фокус указывает элемент пользовательского интерфейса, который получает фокус при первом запуске или активации приложения или страницы. При использовании клавиатуры пользователь начинает взаимодействовать с пользовательским интерфейсом вашего приложения именно с этого элемента.
Для приложений UWP начальный фокус устанавливается на элемент с наибольшим значением TabIndex , который может получать фокус. Дочерние элементы управляющих контейнеров игнорируются. В случае равенства приоритета первый элемент в визуальном дереве получает фокус.
Установка начального фокуса на наиболее логический элемент
Задайте начальный фокус на элемент пользовательского интерфейса для первого или основного действия, которые пользователи, скорее всего, будут принимать при запуске приложения или переходе на страницу. Ниже приведены некоторые примеры:
- Приложение для фотографии, в котором фокус установлен на первый элемент в коллекции
- Музыкальное приложение, в котором фокус установлен на кнопку воспроизведения
Не направляйте начальное внимание на элемент, который может привести к отрицательным или даже катастрофическим последствиям.
Этот уровень функциональности должен быть выбором пользователя. Установка начального фокуса на элемент со значительным результатом может привести к непреднамеренного потери данных или системного доступа. Например, не устанавливайте фокус на кнопку удаления при просмотре электронного письма.
Дополнительные сведения о переопределении порядка вкладок см. в статье "Навигация фокуса ".
Навигация
Навигация по клавиатуре обычно поддерживается с помощью клавиш TAB и клавиш со стрелками.
По умолчанию элементы управления UWP соответствуют следующим основным действиям клавиатуры:
- Клавиши Tab перемещаются между активными элементами управления, которыми можно управлять, в порядке табуляции.
- Shift + Tab перемещает по элементам управления в обратном порядке. Если пользователь переместился внутри элемента управления с помощью клавиши со стрелкой, фокус устанавливается в последнее известное значение внутри элемента управления.
-
Клавиши со стрелками предоставляют элемент управления "внутренняя навигация", когда пользователь вводит "внутреннюю навигацию", клавиши со стрелками не выходят из элемента управления. Ниже приведены некоторые примеры:
- Стрелка вверх и вниз перемещает фокус внутри
ListViewиMenuFlyout - Изменение выбранных в данный момент значений для
SliderиRatingsControl - Перемещение курсора внутри
TextBox - Развернуть/свернуть элементы внутри
TreeView
- Стрелка вверх и вниз перемещает фокус внутри
Используйте эти поведения по умолчанию для оптимизации навигации по клавиатуре приложения.
Использование "внутренней навигации" с наборами связанных элементов управления
Предоставление навигации со стрелками в набор связанных элементов управления усиливает их связь в общей организации пользовательского интерфейса приложения.
Например, элемент управления, показанный ContentDialog здесь, предоставляет внутреннюю навигацию по умолчанию для горизонтальной строки кнопок (для пользовательских элементов управления см. раздел "Группа элементов управления ").
Взаимодействие с коллекцией связанных кнопок упрощается с помощью навигации по клавишам со стрелками
Если элементы отображаются в одном столбце, клавиша СТРЕЛКА ВВЕРХ/ВНИЗ перемещается по элементам. Если элементы отображаются в одной строке, клавиша со стрелкой вправо или влево перемещается по элементам. Если элементы расположены в нескольких столбцах, все 4 клавиши со стрелками обеспечивают навигацию.
Определение одной остановки вкладки для коллекции связанных элементов управления
Определив одну позицию табуляции для коллекции связанных или дополнительных элементов управления, можно свести к минимуму количество общих позиций табуляции в приложении.
Например, на следующих изображениях показаны два элемента управления, расположенные друг над другом ListView. На рисунке слева показана навигация с помощью клавиш-стрелок и табуляции для перехода между ListView элементами управления, тогда как изображение справа демонстрирует, как навигация между дочерними элементами может быть упрощена и сделана более эффективной, устраняя необходимость перемещения по родительским элементам с помощью клавиши табуляции.
|
|
Взаимодействие с двумя наложенными элементами управления ListView можно упростить и повысить эффективность, исключив остановку на табуляции и перемещаясь только с помощью клавиш со стрелками.
Ознакомьтесь с разделом "Группа элементов управления ", чтобы узнать, как применить примеры оптимизации к пользовательскому интерфейсу приложения.
Взаимодействие и командирование
Когда элемент управления имеет фокус, пользователь может взаимодействовать с ним и вызывать любые связанные функции с помощью определенных входных данных клавиатуры.
Ввод текста
Для тех элементов управления, которые специально предназначены для ввода текста, например, TextBox и RichEditBox, все действия с клавиатуры используются для ввода или навигации по тексту, что имеет приоритет над другими командами клавиатуры. Например, раскрывающееся меню элемента управления не распознает клавишу пробел как команду выбора.
Пробел
Когда не используется режим ввода текста, клавиша ПРОБЕЛ вызывает действие или команду, связанную с текущим элементом управления, как при касании сенсорного экрана или щелчке мышью.
Ввод ключа
Клавиша ВВОД может выполнять различные распространенные взаимодействия в зависимости от элемента управления с фокусом.
- Активирует элементы управления командами, такие как
ButtonилиHyperlink. Чтобы избежать путаницы с конечным пользователем, клавиша ВВОД также активирует элементы управления, которые выглядят как элементы управления командами, такие какToggleButtonилиAppBarToggleButton. - Отображает интерфейс средства выбора для таких элементов управления, как
ComboBoxиDatePicker. Клавиша ВВОД также фиксирует и закрывает пользовательский интерфейс средства выбора. - Активирует элементы управления списком, такие как
ListView,GridViewиComboBox.- Клавиша ВВОД выполняет действие выбора в качестве ключа пробела для элементов списка и сетки, если с этими элементами не связано дополнительное действие (открытие нового окна).
- Если с элементом управления связано дополнительное действие, клавиша ВВОД выполняет именно его, а клавиша ПРОБЕЛ отвечает за выполнение действия выбора.
ЗАМЕТКА Клавиша Enter и клавиша Space не всегда выполняют одно и то же действие, но часто так делают.
Клавиша ESC
Клавиша ESC позволяет пользователю отменить временный пользовательский интерфейс (а также любые текущие действия в этом пользовательском интерфейсе).
Примеры этого опыта включают:
- Пользователь открывает
ComboBox, используя выбранное значение, и использует клавиши со стрелками для перемещения фокуса выделения на новое значение. Нажатие клавиши esc закрываетComboBoxи восстанавливает выбранное значение до исходного. - Пользователь вызывает действие постоянного удаления для электронной почты и получает сообщение
ContentDialogдля подтверждения действия. Пользователь решает, что это не нужно, и нажимает клавишу ESC , чтобы закрыть диалоговое окно. По мере того как клавиша ESC связана с кнопкой "Отмена ", диалоговое окно закрывается и действие отменяется. Клавиша Esc влияет только на временные элементы пользовательского интерфейса, она не закрывает и не перемещает назад через интерфейс приложения.
Клавиши Home и End
Ключи "Главная " и "Конечный " позволяют пользователю прокручиваться до начала или конца региона пользовательского интерфейса.
Ниже приведены примеры этого опыта.
- Для
ListViewиGridViewэлементов управления ключ Home перемещает фокус на первый элемент и прокручивает его в представление, а ключ End перемещает фокус на последний элемент и прокручивает его в представление. -
ScrollViewДля элемента управления ключ "Главная" прокручивается в верхней части области, а ключ end прокручивается до нижней части области (фокус не изменяется).
Клавиши Page Up и Page Down
Клавиши Page позволяют пользователю прокручивать область пользовательского интерфейса по дискретным шагам.
Например, для ListView и GridView элементов управления клавиша Page up прокручивает область вверх по "странице" (обычно высота окна просмотра) и перемещает фокус в верхнюю часть региона. Кроме того, клавиша Page Down прокручивает область вниз по странице и перемещает фокус в нижнюю часть области.
Клавиша F6
Клавиша F6 позволяет пользователю переключаться между панелями или важными разделами вашего приложения или пользовательского интерфейса. Shift-F6 обычно циклирует назад (см. специальные возможности клавиатуры).
Они часто связаны с ориентирами и заголовками, но не должны соответствовать напрямую.
Рассмотрим пример.
- В Edge, нажатие клавиши F6 будет переключаться между панелью вкладок, адресной строкой или строкой приложения, и содержимым страницы.
- В Проводнике нажатие клавиши F6 будет переключаться между разделами приложения.
- При работе на рабочем столе, нажатие клавиши F6 будет переключать между частями панели задач и самим рабочим столом.
Сочетания клавиш
Помимо реализации навигации и активации клавиатуры, также рекомендуется реализовать сочетания клавиш, такие как акселераторы клавиатуры и клавиши доступа для важных или часто используемых функций.
Сочетания клавиш могут упростить использование приложения, обеспечивая улучшенную доступность и повышая эффективность работы с клавиатурой.
Сочетание клавиш — это сочетание клавиатуры, которое повышает производительность, обеспечивая эффективный способ доступа пользователя к функциям приложения. Существует два типа ярлыка:
- Ускорители — это сочетания клавиш, которые вызывают команду приложения. Ваше приложение может или не предоставлять определенный пользовательский интерфейс, соответствующий команде. Ускорители обычно состоят из клавиш CTRL и буквы.
- Ключи доступа — это сочетания клавиш, которые задают фокус на определенный пользовательский интерфейс в приложении. Ключи доступа обычно состоят из клавиш ALT и буквы.
Обеспечение согласованных сочетаний клавиш, поддерживающих аналогичные задачи в приложениях, делает их гораздо более полезными и мощными и помогает пользователям запоминать их.
Ускорители
Ускорители помогают пользователям выполнять распространенные действия в приложении гораздо быстрее и эффективнее.
Примеры акселераторов:
- Нажатие клавиш CTRL+N в любом месте в приложении "Почта" запускает новый почтовый элемент.
- Нажатие клавиш CTRL+ E в любом месте Microsoft Edge (и многие приложения Microsoft Store) запускает поиск.
Ускорители имеют следующие характеристики:
- В основном используются последовательности клавиш CTRL и функции (клавиши сочетания клавиш windows также используют alt+ не буквенно-цифровые ключи и клавиши с логотипом Windows).
- Они назначаются только наиболее часто используемым командам.
- Они предназначены для запоминания и документируются только в меню, подсказках и справке.
- Они оказывают влияние на всё приложение, когда это поддерживается.
- Они должны последовательно присваиваться, поскольку они запоминаются и не документируются в явном виде.
Ключи доступа
Дополнительные сведения о поддержке ключей доступа с помощью UWP см. на странице "Ключи доступа".
Ключи доступа помогают пользователям с ограниченными возможностями двигательной функции нажать один ключ за раз, чтобы выполнить действия по конкретному элементу в пользовательском интерфейсе. Кроме того, ключи доступа можно использовать для обмена дополнительными сочетаниями клавиш, чтобы помочь расширенным пользователям быстро выполнять действия.
Ключи доступа имеют следующие характеристики:
- Они используют клавиши ALT и буквенно-цифровые ключи.
- Они предназначены в первую очередь для доступности.
- Они документируются непосредственно в пользовательском интерфейсе, рядом с элементом управления с помощью ключевых советов.
- Они действуют только в текущем окне и позволяют перейти к соответствующему элементу меню или элементу управления.
- Ключи доступа должны последовательно назначаться часто используемым командам (особенно кнопкам подтверждения), когда это возможно.
- Они локализованы.
Распространенные сочетания клавиш
В следующей таблице представлен небольшой пример часто используемых сочетаний клавиш.
| Действие | Основная команда |
|---|---|
| Выберите все | CTRL+A |
| Выбирайте непрерывно | Клавиша Shift+стрелка |
| Сохранить | CTRL+S |
| Поиск | CTRL+F |
| CTRL + P | |
| Копия | CTRL+C |
| Резать | CTRL+X |
| Вставить | CTRL+V |
| Отменить | CTRL+Z |
| Следующая вкладка | CTRL+TAB |
| Закрыть вкладку | CTRL+F4 или CTRL+W |
| Семантическое масштабирование | CTRL++ или CTRL+- |
Полный список сочетаний клавиш Windows см. в разделе "Сочетания клавиш" для Windows. Для общих сочетаний клавиш см. сочетания клавиш для приложений Майкрософт.
Расширенные возможности
В этом разделе мы обсудим некоторые из более сложных возможностей взаимодействия с клавиатурой, поддерживаемых приложениями UWP, а также некоторые из действий, которые следует учитывать при использовании приложения на разных устройствах и с различными инструментами.
Контрольная группа
Вы можете сгруппировать набор связанных элементов управления или дополнительных элементов управления в "группе управления" (или области направления), которая обеспечивает "внутреннюю навигацию" с помощью клавиш со стрелками. Группа элементов управления может быть одной остановкой табуляции, или можно указать несколько остановок вкладок в группе элементов управления.
Навигация по клавишам со стрелками
Пользователи ожидают поддержку навигации со стрелками при наличии группы похожих связанных элементов управления в регионе пользовательского интерфейса:
-
AppBarButtonsвCommandBar -
ListItemsилиGridItemsвнутриListViewилиGridView -
ButtonsвнутриContentDialog
Элементы управления UWP поддерживают навигацию со стрелками по умолчанию. Для пользовательских макетов и групп элементов управления используйте XYFocusKeyboardNavigation="Enabled" для обеспечения аналогичного поведения.
При использовании следующих элементов управления рекомендуется добавить поддержку навигации со стрелками.
|
Кнопки диалогового окна
Радиокнопки |
AppBarButtons
Элементы списка и GridItems |
Вкладка останавливается
В зависимости от функциональности и макета приложения лучший вариант навигации для группы управления может быть одной точкой останова табуляции с навигацией с помощью стрелок к дочерним элементам, несколькими точками останова табуляции или какой-либо комбинацией.
Использование нескольких стоп-вкладок и клавиш со стрелками для кнопок
Пользователи специальных возможностей используют хорошо установленные правила навигации клавиатуры, которые обычно не используют клавиши со стрелками для навигации по коллекции кнопок. Однако пользователи без нарушения зрения могут почувствовать, что поведение естественно.
Примером поведения UWP по умолчанию в данном случае является ContentDialog. Хотя клавиши со стрелками можно использовать для перехода между кнопками, каждая кнопка также является табулятором.
Назначение одной вкладки знакомым шаблонам пользовательского интерфейса
В случаях, когда макет следует хорошо известному шаблону пользовательского интерфейса для групп элементов управления, назначение одной остановки табуляции группе может повысить эффективность навигации для пользователей.
Вот некоторые примеры.
RadioButtons- Несколько
ListViews, которые выглядят и действуют как одинListView - Любой пользовательский интерфейс, сделанный для внешнего вида и поведения, как сетка плиток (например, плитки меню "Пуск")
Спецификация поведения контрольной группы
Используйте следующие API для поддержки поведения пользовательской группы управления (все рассматриваются более подробно далее в этом разделе):
- XYFocusKeyboardNavigation обеспечивает навигацию клавиш со стрелками между элементами управления
- TabFocusNavigation указывает, существует ли несколько остановок табуляции или одна остановка табуляции
- FindFirstFocusableElement и FindLastFocusableElement устанавливают фокус на первый элемент с клавишей Home и на последний элемент с клавишей End.
На следующем рисунке показано интуитивно понятное поведение навигации клавиатуры для группы элементов управления связанных переключателей. В этом случае мы рекомендуем одну позицию табуляции для группы элементов управления, внутреннюю навигацию между радиокнопками с помощью клавиш со стрелками, клавишу Home, связанную с первой радиокнопкой, и клавишу End, связанную с последней радиокнопкой.
Клавиатура и экранный диктор
Экранный диктор — это инструмент доступности пользовательского интерфейса, предназначенный для пользователей клавиатуры (поддерживаются также другие типы ввода). Однако функциональные возможности экранного диктора выходят за рамки взаимодействия с клавиатурой, поддерживаемые приложениями UWP, и при разработке приложения UWP для экранного диктора требуется дополнительная помощь. (На странице "Основы экранного диктора " вы можете ознакомиться с пользовательским интерфейсом экранного диктора.)
Некоторые различия между поведением клавиатуры UWP и поддерживаемыми экранным диктором включают:
- Дополнительные сочетания клавиш для перехода к элементам пользовательского интерфейса, которые не предоставляются с помощью стандартной навигации с помощью клавиатуры, например клавиши caps lock + со стрелками для чтения меток элементов управления.
- Навигация по отключенным элементам. По умолчанию отключённые элементы не отображаются при стандартной клавиатурной навигации.
- Управление представлениями для более быстрой навигации на основе детализации пользовательского интерфейса. Пользователи могут переходить к элементам, символам, словам, строкам, абзацам, ссылкам, заголовкам, таблицам, ориентирам и предложениям. стандартная навигация по клавиатуре предоставляет эти объекты как плоский список, что может сделать навигацию неудобной, если вы не предоставите сочетания клавиш.
Пример — элемент управления AutoSuggestBox
Кнопка поиска для AutoSuggestBox недоступна для стандартной навигации по клавиатуре с помощью клавиши tab и стрелок, так как пользователь может нажать клавишу ВВОД для отправки поискового запроса. Однако он доступен с помощью экранного диктора, когда пользователь нажимает caps Lock + клавиша со стрелкой.
С помощью клавиатуры пользователи нажимают клавишу ВВОДдля отправки поискового запроса
|
С помощью экранного диктора пользователи нажимают клавишу ВВОД для отправки поискового запроса |
С Экранным диктором пользователи также могут получить доступ к кнопке поиска, нажав клавишу Caps Lock + Стрелка вправо, а затем клавишу Пробел |
Клавиатура, игровая панель и удаленный контроль
Геймпады и пульты дистанционного управления поддерживают множество функций и возможностей клавиатуры UWP. Однако из-за отсутствия различных ключевых параметров, доступных на клавиатуре, игровой панели и удаленном управлении, не хватает много оптимизаций клавиатуры (удаленное управление еще более ограничено, чем игровой панели).
Дополнительные сведения о поддержке UWP для игровой панели и ввода удаленного управления см. в разделе "Игровой панель" и "Удаленный контроль ".
Ниже показаны некоторые сопоставления клавиш между клавиатурой, игровой панелью и удаленным управлением.
| Клавиатура | Игровая панель | Пульт дистанционного управления |
|---|---|---|
| Космос | Кнопка | Кнопка "Выбрать" |
| Войдите | Кнопка | Кнопка "Выбрать" |
| Побег | Кнопка B | Кнопка "Назад" |
| Главная/конец | N/A | N/A |
| Страница вверх/вниз | Кнопка триггера для вертикальной прокрутки, кнопка Бампера для горизонтальной прокрутки | N/A |
Некоторые ключевые различия следует учитывать при разработке приложения UWP для использования с игровой панелью и использованием удаленного управления:
Для ввода текста пользователь должен нажать клавишу A на клавиатуре, чтобы активировать элемент управления текстом.
Навигация фокуса не ограничивается группами элементов управления, пользователи могут свободно переходить к любому фокусируемому элементу пользовательского интерфейса в приложении.
ЗАМЕТКА Фокус может перемещаться на любой фокусируемый элемент пользовательского интерфейса в направлении нажатия клавиши, если это не является пользовательским интерфейсом наложения, или если не указано задействование фокуса, что предотвращает ввод и выход фокуса из региона до тех пор, пока не будет задействован или отключён с помощью кнопки A. Дополнительные сведения см. в разделе "Направление навигации ".
Кнопки D-pad и левой палки используются для перемещения фокуса между элементами управления и для внутренней навигации.
ЗАМЕТКА Геймпад и пульт дистанционного управления переходят только к элементам, которые находятся в том же визуальном порядке, что и нажатую клавишу направления. Навигация отключена в этом направлении, когда отсутствует следующий элемент, на который можно установить фокус. В зависимости от ситуации пользователи клавиатуры не всегда имеют это ограничение. Дополнительные сведения см. в разделе "Встроенная оптимизация клавиатуры ".
Направление навигации
Навигация по направлению управляется вспомогательным классом UWP Focus Manager, который получает нажатие на клавиши направления (стрелки, D-pad) и пытается переместить фокус в нужном визуальном направлении.
В отличие от клавиатуры, когда приложение отказалось от режима мыши, направление навигации применяется ко всему приложению при использовании геймпада и дистанционного управления. Дополнительные сведения об оптимизации направленной навигации см. в разделе "Геймпад" и взаимодействия с удаленным управлением .
ЗАМЕТКА Навигация с помощью клавиши TAB клавиатуры не считается направленной навигацией. Дополнительные сведения см. в разделе «Остановки табуляции».
|
Поддерживаемая |
Направление навигации не поддерживается |
Встроенная оптимизация клавиатуры
В зависимости от используемого макета и элементов управления приложения UWP можно оптимизировать специально для ввода клавиатуры.
В следующем примере показана группа элементов списка, элементов сетки и элементов меню, назначенных одной остановке вкладки (см. раздел "Табуляции". Когда группа имеет фокус, внутренняя навигация выполняется с помощью клавиш со стрелками направления в соответствующем визуальном порядке (см. раздел навигации ).
Навигация стрелками в одном столбце
Навигация по клавишам со стрелками в одной строке
Навигация с помощью клавиш со стрелками по нескольким столбцам/строкам
Упаковка однородных элементов списка и представления сетки
Навигация по направлению не всегда является наиболее эффективным способом навигации по нескольким строкам и столбцам элементов List и GridView.
ЗАМЕТКА Элементы меню обычно являются отдельными списками столбцов, но специальные правила фокуса могут применяться в некоторых случаях (см. пользовательский интерфейс всплывающего окна).
Объекты списка и сетки можно создавать с несколькими строками и столбцами. Обычно они упорядочены по строкам (где элементы заполняют всю строку перед заполнением следующей) или по столбцам (где элементы заполняют весь столбец перед заполнением следующего). Основной порядок строк или столбцов зависит от направления прокрутки, и следует убедиться, что порядок элементов не конфликтует с этим направлением.
В основном порядке строк (где элементы заполняются слева направо, сверху вниз), когда фокус находится на последнем элементе в строке и нажатии клавиши СТРЕЛКА ВПРАВО, фокус перемещается на первый элемент в следующей строке. Это же поведение происходит в обратном направлении: если фокус установлен на первый элемент в строке, а клавишу СТРЕЛКА ВЛЕВО нажимается, фокус перемещается к последнему элементу в предыдущей строке.
В порядке заполнения по столбцам (где элементы заполняются сверху вниз, затем слева направо), когда курсор находится на последнем элементе в столбце и пользователь нажимает клавишу СТРЕЛКА ВНИЗ, курсор перемещается на первый элемент в следующем столбце. Если фокус установлен на первый элемент в столбце и нажата клавиша СТРЕЛКА ВВЕРХ, фокус перемещается к последнему элементу в предыдущем столбце.
|
Навигация по строкам с помощью клавиатуры |
Навигация клавишами в формате Column Major |
Пользовательский интерфейс всплывающего окна
Как упоминалось, необходимо попытаться обеспечить направление навигации в визуальном порядке элементов управления в пользовательском интерфейсе приложения.
Некоторые элементы управления (например, контекстное меню, меню переполнения командной панели и меню автозаполнения) отображают всплывающее меню в определённом месте и направлении (вниз по умолчанию) относительно основного элемента управления и доступного пространства экрана. Обратите внимание, что на направление открытия могут повлиять различные факторы во время выполнения.
|
|
Для этих элементов управления при первом открытии меню (и ни один элемент не был выбран пользователем), клавиша СТРЕЛКА ВНИЗ всегда задает фокус на первый элемент, а клавиша СТРЕЛКА ВВЕРХ всегда задает фокус на последний элемент в меню.
Если фокус находится на последнем пункте и нажата клавиша СТРЕЛКА ВНИЗ, фокус перемещается на первый пункт меню. Аналогично, если первый элемент имеет фокус и если нажата клавиша 'Стрелка вверх', фокус перемещается к последнему элементу в меню. Это поведение называется циклическим переключением и полезно для навигации по всплывающим меню, которое может открываться в непредсказуемых направлениях.
Замечание
Следует избегать циклическую навигацию в невсплывающих пользовательских интерфейсах, где пользователи могут чувствовать себя в ловушке бесконечного цикла.
Рекомендуется эмулировать эти же действия в пользовательских элементах управления. Пример кода, демонстрирующий реализацию этого поведения, можно найти в документации по навигации программного фокуса.
Тестирование приложения
Протестируйте приложение со всеми поддерживаемыми устройствами ввода, чтобы элементы пользовательского интерфейса могли перемещаться в согласованном и интуитивно понятном виде, и что непредвиденные элементы не влияют на нужный порядок вкладок.
Связанные статьи
- События клавиатуры
- Определение устройств ввода
- Реакция на наличие сенсорной клавиатуры
- Пример визуальных элементов фокуса
- Особенности клавиатуры элемента управления NavigationView
- Доступность клавиатуры
Приложение
Программная клавиатура
Программная клавиатура отображается на экране и используется вместо физической клавиатуры для набора данных и ввода с помощью сенсорного экрана, мыши, пера или стилуса или другого указывающего устройства. На игровых устройствах необходимо выбирать отдельные клавиши, перемещая визуальный элемент фокуса или используя сочетания клавиш на геймпаде или пульте дистанционного управления.
Сенсорная клавиатура
Сенсорная клавиатура Windows 11
В зависимости от устройства сенсорный клавиатура отображается, когда текстовое поле или другой редактируемый элемент управления текстом получает фокус или когда пользователь вручную включает его через Центр уведомлений:
Если приложение программно устанавливает фокус на элемент управления вводом текста, сенсорная клавиатура не открывается. Это позволяет исключить непредвиденное поведение, не вызываемое пользователем напрямую. Однако клавиатура автоматически скрывается при программном перемещении фокуса в элемент управления, не предназначенный для текстового ввода.
Сенсорная клавиатура обычно остается видимой, пока пользователь перемещается между элементами управления в форме. Это поведение может отличаться в зависимости от других типов элементов управления в форме.
Ниже приведен список элементов управления без редактирования, которые могут получать фокус во время сеанса ввода текста с помощью сенсорной клавиатуры, не закрывая клавиатуру. Вместо того чтобы без необходимости изменять пользовательский интерфейс и потенциально дезориентировать пользователя, сенсорная клавиатура остается на экране, так как пользователь, скорее всего, будет переходить между этими элементами управления и набором текста с помощью сенсорной клавиатуры.
- Флажок
- Выпадающий список
- Радиокнопка
- Полоса прокрутки
- Tree
- Элемент дерева
- Меню
- Строка меню
- Элемент меню
- Панель инструментов
- List
- Элемент списка
Ниже приведены примеры различных режимов сенсорной клавиатуры. Первый образ — макет по умолчанию, второй — развернутый макет (который может быть недоступен во всех языках).
Сенсорная клавиатура в раскладке по умолчанию
Сенсорная клавиатура в расширенном режиме
Успешное взаимодействие с клавиатурой позволяет пользователям выполнять базовые сценарии приложений только с помощью клавиатуры; То есть пользователи могут получить доступ ко всем интерактивным элементам и активировать функции по умолчанию. Ряд факторов может повлиять на степень успеха, включая навигацию по клавиатуре, клавиши доступа для обеспечения доступности и горячие клавиши для расширенных пользователей.
Экранная клавиатура
Как и сенсорная клавиатура, экранная клавиатура (OSK) — это визуальный элемент, программная клавиатура, используемая вместо физической клавиатуры для ввода данных с помощью сенсорного ввода, мыши, пера или другого указывающего устройства, сенсорный экран не требуется. OSK предоставляется для систем, не имеющих физической клавиатуры, или для пользователей, чьи нарушения мобильности препятствуют использованию традиционных физических устройств ввода. OSK эмулирует большую часть, если не все, функциональные возможности аппаратной клавиатуры.
OSK можно включить на странице клавиатуры > в разделе "Параметры удобства доступа".
ЗАМЕТКА OSK имеет приоритет над сенсорной клавиатурой, которая не будет отображаться, если OSK присутствует.
Экранная клавиатура
Клавиатура Xbox One на экране
Дополнительные сведения см. в разделе "Использование экранной клавиатуры для ввода".
Windows developer