Поделиться через


Ограничения доступности в приложениях на основе холста

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

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

Диалоговые окна и наложения

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

Рассмотрим следующее:

Интерфейсы с вкладками

Интерфейс с вкладками состоит из списка вкладок и панели, отображающей содержимое, связанное с выбранной вкладкой.

Единственным встроенным элементом управления, поддерживающим интерфейсы с вкладками, является список вкладок. Избегайте использования Галерей для создания вкладок. Список вкладок должен быть навигаем с помощью клавиш со стрелками. Требуются соответствующие роли и состояния элементов управления.

Рассмотрим следующее:

Пользовательские таблицы

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

Рассмотрим следующее:

Настраиваемые комбинированные списки

Можно эмулировать поле со списком, объединив ввод текста и коллекцию. Однако поля со списком, собранные из встроенных элементов управления, не поддерживают специальные возможности. Поля со списком должны обрабатывать клавиши со стрелками и устанавливать соответствующие роли и состояния для своих компонентов.

Рассмотрим следующее:

Прокручиваемое содержимое

Пользователи клавиатуры не могут прокручивать формы, экраны прокрутки и контейнеры , если в них нет интерактивных элементов управления.

Для Галерей без интерактивного содержимого можно настроить TabIndex в самой Галерее, чтобы пользователи клавиатуры могли сосредоточиться на ней и использовать клавиши со стрелками для прокрутки.

Для меток параметр TabIndex сделает их фокусируемыми для прокрутки клавиатуры. Однако они также превратятся в кнопки. Не делайте метки прокручиваемыми, если они не предназначены для использования в качестве кнопок. Убедитесь, что метка достаточно велика, чтобы поместить текст. Свойство AutoHeight можно использовать для автоматической настройки размера элемента управления, если он находится внутри формы, прокручиваемого экрана или коллекции.

Разделы, доступные для расширения

Расширяемые разделы, также известные как раскрытие информации, содержат содержимое, скрытое до тех пор, пока пользователь не нажимает кнопку. Встроенная поддержка этих элементов отсутствует, но существует обходное решение.

Упомяните развернутое состояние в свойстве AccessibleLabel кнопки. Например, "Показать дополнительные сведения. Свернуто.".

Обновляйте свойство AccessibleLabel при изменении развернутого состояния. Поместите развернутое содержимое сразу после кнопки, чтобы пользователи средства чтения с экрана могли логически перейти к нему. Смещайте другое содержимое вниз при развертывании этого раздела.

Метки чтения

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

Для других ориентиров используйте заголовок в качестве обходного решения.

Настраиваемые роли и состояния

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

Рассмотрим следующее:

Настраиваемая обработка клавиатуры

Невозможно реагировать на определенные нажатия клавиши. Например, нельзя использовать настраиваемое поведение для клавиш со стрелками или клавиши Escape. Следовательно, невозможно составить элементы управления в виде списка, такие как переключатели, из встроенных элементов управления. Вы также не можете создавать наложения, которые можно закрыть с помощью клавиши Escape.

Обработка клавиши Enter и пробела поддерживается в OnSelect. Однако это свойство также активируется другими методами ввода, такими как щелчки мыши. Нет способа отличить источник события.

Управление фокусом

Функцию SetFocus можно использовать для изменения фокуса, но она работает только в ограниченных сценариях.

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

Скрыть содержимое только для пользователей экранного считывателя

Нет эквивалента aria-hidden, чтобы показать содержимое зрячим пользователям, но скрыть его для пользователей скринридеров. Поддерживаются только несколько сценариев .

Дальнейшие шаги

Свойства специальных возможностей

См. также