Ограничения специальных возможностей в приложениях на основе холста
Вы можете проектировать и создавать приложения на основе холсте со специальными возможностями со встроенными элементами управления. Иногда сочетание дизайна приложения, использования различных элементов управления и настроенных свойств элементов управления может привести к тому, что приложение будет иметь пользовательский интерфейс без специальных возможностей.
В этой статье вы узнаете об этих ограничениях специальных возможностей в приложениях на основе холста и как можно улучшить интерфейс приложения, чтобы сделать его более доступным с точки зрения специальных возможностей.
Диалоги и наложения
Диалоги и пользовательские интерфейсы, которые появляются поверх другого содержимого, не поддерживаются. Эти наложения требуют управления фокусом, сокрытия фонового содержимого от программ чтения с экрана и соответствующих ролей элементов управления.
В частности, необходимо принимать во внимание следующее:
- Используйте отдельные экраны для каждого "диалога".
- Используйте функцию Notify .
- Создайте компонент кода, который реализует диалог со специальными возможностями.
Интерфейсы со вкладками
Интерфейс с вкладками состоит из списка вкладок и панели, на которой отображается содержимое, связанное с выбранной вкладкой.
Единственный встроенный элемент управления, поддерживающий интерфейсы с вкладками, — это список вкладок. Для создания вкладок не следует использовать галереи. Список вкладок должен быть доступен для навигации с помощью клавиш со стрелками. Требуются соответствующие роли и состояния элементов управления.
В частности, необходимо принимать во внимание следующее:
- Используйте встроенный элемент управления список вкладок.
- Создайте компонент кода, который реализует интерфейс со вкладками со специальными возможностями.
Настраиваемые таблицы
Единственный встроенный элемент управления, поддерживающий двумерные данные, — это таблица данных. Избегайте использования коллекций для представления данных в строках и столбцах. Строки и столбцы должны быть аннотированы, чтобы пользователи средства чтения экрана могли понимать их структуру и перемещаться по ячейкам.
В частности, необходимо принимать во внимание следующее:
- Используйте встроенную таблицу данных.
- Представляйте данные только в одном направлении с помощью коллекции Галерея.
- Создайте компонент кода, который реализует таблицу со специальными возможностями.
Пользовательские поля со списком
Можно эмулировать поле со списком, объединив ввод текста и коллекцию. Однако поля со списком, собранные из встроенных элементов управления, не поддерживают специальные возможности. Поля со списком должны обрабатывать клавиши со стрелками и устанавливать соответствующие роли и состояния для своих компонентов.
В частности, необходимо принимать во внимание следующее:
- Используйте встроенное поле со списком или раскрывающийся список.
- Создайте компонент кода, который реализует поле со списком, поддерживающее специальные возможности.
Прокручиваемое содержимое
Пользователи клавиатуры не могут прокручивать формы, прокручиваемые экраны и контейнеры, если внутри них нет интерактивных элементов управления.
Для коллекций без интерактивного контента вы можете установить TabIndex на саму коллекцию, чтобы пользователи клавиатуры могли фокусироваться на ней и использовать клавиши со стрелками для ее прокрутки.
Для подписей задание TabIndex сделает их доступными для прокрутки с клавиатуры. Однако это также превратит их в кнопки. Не делайте подписи прокручиваемыми, если они не предназначены для использования в качестве кнопок. Убедитесь, что элемент управления Подпись достаточно велик, чтобы уместить текст. Свойство AutoHeight можно использовать для автоматической настройки размера элемента управления, когда он находится внутри элемента управления Форма, Прокручиваемый экран или Коллекция.
Разворачиваемые разделы
Разворачиваемые разделы, также известные как раскрытия, содержат контент, скрытый до тех пор, пока пользователь не нажмет кнопку. Для этих элементов нет встроенной поддержки, но есть обходной путь.
Упомяните развернутое состояние в свойстве AccessibleLabel кнопки. Например, "Показывать более подробную информацию. Свернуто.".
Обновляйте свойство AccessibleLabel при изменении развернутого состояния. Разместите развернутое содержимое сразу после кнопки, чтобы пользователи средства чтения экрана могли логически перейти к нему. Смещайте другое содержимое вниз при развертывании этого раздела.
Достопримечательности
Вы можете создавать заголовки с элементами управления Подпись. Навигация, баннер и другие ориентиры не поддерживаются. Power Apps автоматически устанавливает основной ориентир на экран приложения.
Для других ориентиров используйте заголовок как временное решение.
Пользовательские роли и состояния
Нет встроенной поддержки пользовательских ролей и состояний. Следовательно, не рекомендуется создавать составные флажки, ползунки и переключатели из встроенных элементов управления.
В частности, необходимо принимать во внимание следующее:
- Упомяните роль и состояние элемента управления в его свойстве AccessibleLabel. Например, если Значок используется как флажок, ее метка может быть "Включить уведомления. Флажок. Установлен.".
- Создайте компонент кода который устанавливает требуемые WAI-ARIA роли и состояния.
Настраиваемая обработка клавиатуры
Невозможно реагировать на определенные нажатия клавиш. Например, у вас не может быть настраиваемого поведения для клавиш со стрелками или клавиши Escape. Следовательно, невозможно составить элементы управления в виде списка, такие как переключатели, из встроенных элементов управления. Вы также не можете создавать наложения, которые можно закрыть с помощью клавиши Escape.
Обработка клавиш Enter или пробела поддерживается с помощью свойства OnSelect. Однако это свойство также запускается другими методами ввода, такими как щелчки мыши. Нет способа определить источник события.
Управление фокусом
Функцию SetFocus можно использовать для изменения фокуса, но она работает только в ограниченных сценариях.
Невозможно определить, когда элементы управления получают или теряют фокус.
Скрытие содержимого только для пользователей средств чтения экрана
Здесь нет эквивалента функции aria-hidden для отображения содержимого зрячим пользователям, но скрытия его для пользователей средств чтения с экрана. Только несколько сценариев поддерживаются.
Дальнейшие шаги
Свойства специальных возможностей
См. также
- Создание приложений со специальными возможностями
- Структура приложения со специальными возможностями
- Цвета высокой контрастности в Power Apps
- Отображение или скрытие контента от вспомогательных технологий для приложений на основе холста
- Объявление динамических изменений с помощью динамических областей для приложений на основе холста
- Использование проверки читаемости