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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Три основных аспекта текста относятся к специальным возможностям:

  • Средства должны определить, следует ли считать текст как часть обхода последовательности вкладок или только как часть общего представления документа. Вы можете управлять этим определением, выбрав соответствующий элемент для отображения текста или изменив свойства этих текстовых элементов. Каждый текстовый элемент имеет определенную цель, и эта цель часто имеет соответствующую роль автоматизации пользовательского интерфейса. Использование неправильного элемента может привести к отправке отчетов о неправильной роли в службе автоматизации пользовательского интерфейса и создании запутанного интерфейса для пользователя вспомогательной технологии.
  • Многие пользователи имеют ограничения зрения, что затрудняет их чтение текста, если оно не имеет достаточной контрастности с фоном. Как это влияет на пользователя, не интуитивно понятным для дизайнеров приложений, которые не имеют этого ограничения зрения. Например, для пользователей цветных слепых варианты цвета в дизайне могут предотвратить чтение текста некоторыми пользователями. Рекомендации по специальным возможностям, которые изначально были сделаны для веб-содержимого, определяют стандарты контрастности, которые также могут избежать этих проблем в приложениях. Дополнительные сведения см. в разделе "Требования к тексту со специальными возможностями".
  • Многие пользователи испытывают трудности с чтением текста, который слишком мал. Эту проблему можно предотвратить, сделав текст в пользовательском интерфейсе приложения достаточно большим. Однако это сложно для приложений, отображающих большое количество текста или текста, пересекающихся с другими визуальными элементами. В таких случаях убедитесь, что приложение правильно взаимодействует с системными функциями, которые могут масштабировать отображение, чтобы любой текст в приложениях масштабируется вместе с ним. (Некоторые пользователи изменяют значения dpi в качестве параметра специальных возможностей. Этот параметр доступен в разделе "Сделать вещи" на экране более крупным в разделе "Простота доступа", который перенаправляется на пользовательский интерфейс панели управления для отображения внешнего вида и персонализации / .)

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

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

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

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

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

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

XAML

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

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

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

</StackPanel>

Visual Basic

Private Sub ShowAccessibleUICheckBox_Click(ByVal sender As Object,
    ByVal e As RoutedEventArgs)

    If (ShowAccessibleUICheckBox.IsChecked.Value) Then
        ContentBlock.Content = New AccessibleContentPage()
    Else
        ContentBlock.Content = New ContentPage()
    End If
End Sub

C#

private void ShowAccessibleUICheckBox_Click(object sender, RoutedEventArgs e)
{
    if ((sender as CheckBox).IsChecked.Value)
    {
        ContentBlock.Content = new AccessibleContentPage();
    }
    else
    {
        ContentBlock.Content = new ContentPage();
    }
}

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

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

Примечание.

Объявление приложения доступным относится только к Microsoft Store.

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

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

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

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

Примеры

Совет

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

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