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


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

В этом разделе представлены основные понятия и технологии, связанные с созданием доступных приложений Для Windows.

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

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

Многие нарушения, такие как ограниченная подвижность, проблемы со зрением, восприятие цветов, слуховые, речевые и когнитивные нарушения, а также трудности в обучении, можно устранить, предоставив:

  • Поддержка взаимодействия с клавиатурой и средств чтения с экрана.
  • Поддержка настройки пользователей, таких как шрифт, параметр масштабирования (увеличение), цвет и параметры высокой контрастности.
  • Альтернативный или дополнительный пользовательский интерфейс.

Элементы управления XAML обеспечивают встроенную поддержку доступа к клавиатуре и вспомогательных технологий, таких как средства чтения с экрана. Эта встроенная поддержка обеспечивает базовый уровень специальных возможностей, которые можно настроить с помощью различных свойств. Если вы создаете собственные пользовательские компоненты и элементы управления XAML, вы также можете добавить аналогичную поддержку этих элементов управления с помощью однорангового узла автоматизации *automation (дополнительные сведения см. в разделе "Пользовательские одноранговые узлы автоматизации").

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

Автоматизация пользовательского интерфейса

Поддержка специальных возможностей в основном происходит из интеграции платформы автоматизации пользовательского интерфейса Майкрософт. Эта поддержка предоставляется через базовые классы и встроенное поведение реализации класса для типов элементов управления, а также представление ИНТЕРФЕЙСА API поставщика автоматизации пользовательского интерфейса. Каждый класс управления использует UI Automation концепции одноранговых узлов автоматизации и шаблонов автоматизации, которые сообщают о роли и содержимом элемента управления UI Automation клиентам. Приложение рассматривается как окно верхнего уровня в рамках UI Automation, и через фреймворк UI Automation все содержимое, связанное с доступностью в этом окне приложения, доступно для клиента UI Automation. Дополнительные сведения о UI Automation см. в разделе Обзор UI Automation.

Вспомогательные технологии

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

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

  • Экранная клавиатура (OSK) или программная клавиатура, которая позволяет людям использовать указатель вместо аппаратной клавиатуры для ввода текста.
  • Программное обеспечение распознавания речи, которое преобразует слова в типизированный текст.
  • Средства чтения с экрана, которые преобразуют текст в речь или такие форматы, как Брайль.
  • Экранный диктор, встроенный в Windows, имеет сенсорный режим, который может выполнять задачи озвучивания экрана с помощью сенсорных жестов.
  • Программы или параметры, которые настраивают дисплей, например, темы высокой контрастности, разрешение (dpi) или Экранная лупа.

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

Ознакомьтесь с тестированием специальных возможностей для тестирования базовых сценариев специальных возможностей с помощью вспомогательных технологий.

Поддержка средства чтения с экрана и основные сведения о специальных возможностях

Средства чтения с экрана предоставляют доступ к тексту в приложении, представляя его в другом формате, например, на устной речи или шрифтом Брайля. Точное поведение средства чтения с экрана зависит от того, как он настроен пользователем.

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

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

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

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

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

Базовая модель управления XAML обеспечивает встроенную поддержку клавиатуры, включая навигацию по вкладкам, ввод текста и поддержку элементов управления. Элементы, которые служат в качестве контейнеров макета (например, панелей), используют порядок макета, чтобы установить порядок вкладок по умолчанию и предоставить доступное представление пользовательского интерфейса. Элементы управления ListBox и GridView обеспечивают встроенную навигацию со стрелками. Элементы управления Button обрабатывают клавиши ПРОБЕЛ или ВВОД для активации функции кнопки.

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

Мультимедиа и субтитры

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

Доступный текст

При разработке и реализации текста в приложении сосредоточьтесь на этих трех основных требованиях к специальным возможностям.

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

Поддержка тем высокой контрастности

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

Проектирование альтернативного пользовательского интерфейса

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

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

<StackPanel x:Name="LayoutRoot" Background="White">

  <CheckBox x:Name="ShowAccessibleUICheckBox" Click="ShowAccessibleUICheckBox_Click">
    Show Accessible UI
  </CheckBox>

  <ContentControl x:Name="ContentBlock">
    <local:ContentPage/>
  </ContentControl>

</StackPanel>
private void ShowAccessibleUICheckBox_Click(object sender, RoutedEventArgs e)
{
    if (sender is CheckBox checkBox)
    {
        ContentBlock.Content = checkBox.IsChecked == true
            ? new AccessibleContentPage()
            : new ContentPage();
    }
}

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

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

Поддержка вспомогательных технологий в приложениях, поддерживающих взаимодействие XAML или Microsoft DirectX

По умолчанию содержимое Microsoft DirectX, размещенное в пользовательском интерфейсе XAML (с помощью SwapChainPanel или SurfaceImageSource), недоступно. Пример взаимодействия XAML SwapChainPanel DirectX (архивный устаревший пример) показывает, как сделать хостируемое содержимое доступным через UI Automation, создав AutomationPeer для содержимого DirectX. Этот метод делает размещенное содержимое доступным через UI Automation.

Проверка и публикация

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

Дополнительные сведения о заявлениях специальных возможностей и публикации приложения см. раздел Специальные возможности в Магазине.

Примеры

Откройте приложение WinUI 3 Gallery и ознакомьтесь со следующими принципами доступности в действии:

Значок коллекции WinUI 3 Приложение WinUI 3 Gallery содержит интерактивные примеры элементов управления и функций WinUI. Получите приложение из Microsoft Store или просмотрите исходный код GitHub.