Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
En este tema se presentan conceptos y tecnologías relacionados con la creación de aplicaciones de Windows accesibles.
Las aplicaciones de Windows accesibles no solo admiten personas con discapacidades (tanto temporales como permanentes), sino también aquellas con preferencias personales, estilos de trabajo específicos o restricciones situacionales y ambientales (como espacios de trabajo compartidos, ancho de banda bajo, luz solar brillante, entorno ruidoso o tranquilo, mientras cocina, etc.).
Las instrucciones se escriben para los equipos de desarrollo que tratan la accesibilidad como un requisito básico de calidad y usan comprobaciones automatizadas de accesibilidad como parte de flujos de trabajo de ingeniería normales. Use estos temas para definir las expectativas de accesibilidad al principio, validarlas continuamente y evitar regresiones a medida que evolucionan las características.
Muchas discapacidades, incluida la movilidad deficiente, la visión, la percepción del color, la audición, la voz, la cognición y la alfabetización, se pueden abordar proporcionando:
- Compatibilidad con interacciones de teclado y lectores de pantalla.
- Compatibilidad con la personalización del usuario, como la fuente, la configuración de zoom (ampliación), el color y la configuración de contraste alto.
- Interfaz de usuario alternativa o complementaria.
Los controles XAML proporcionan compatibilidad integrada con el acceso al teclado y tecnologías de asistencia, como los lectores de pantalla. Esta compatibilidad integrada permite un nivel básico de accesibilidad que puede personalizar a través de varias propiedades. Si vas a crear tus propios controles y componentes XAML personalizados, también puedes agregar compatibilidad similar a esos controles mediante un *par de automatización (para obtener más información, consulta pares de automatización personalizados).
Además, las características de enlace de datos, estilo y plantilla permiten admitir dinámicamente la interfaz de usuario alternativa y los cambios para mostrar la configuración.
Automatización de Interfaz de Usuario
La compatibilidad con accesibilidad procede principalmente de la integración del marco de automatización de la interfaz de usuario de Microsoft. Ese soporte se proporciona a través de clases base y el comportamiento integrado de la implementación de clase para los tipos de control, así como una representación de interfaz de la API del proveedor de UI Automation. Cada clase de control usa los conceptos de UI Automation de los pares de automatización y los patrones de automatización que informan sobre el rol y el contenido del control a los clientes de UI Automation. La aplicación se trata como una ventana de nivel superior por UI Automation y a través del marco de UI Automation todo el contenido relevante para la accesibilidad dentro de esa ventana de la aplicación está disponible para un cliente de UI Automation. Para obtener más información sobre UI Automation, consulta UI Automation Overview.
Tecnología de asistencia
Muchas necesidades de accesibilidad se satisfacen mediante productos tecnológicos de asistencia instalados por el usuario o por herramientas y configuraciones proporcionadas por el sistema operativo. Esto incluye lectores de pantalla, lupas de pantalla y configuración de contraste alto.
Los productos de tecnología de asistencia incluyen una amplia variedad de software y hardware. Estos productos funcionan a través de la interfaz de teclado estándar y los marcos de accesibilidad que informan información sobre el contenido y la estructura de la interfaz de usuario para lectores de pantalla y otras tecnologías de asistencia. Entre los ejemplos de productos de tecnología de asistencia se incluyen:
- Teclado en pantalla (OSK) o teclado de software, que permite a los usuarios usar un puntero en lugar de un teclado de hardware para escribir texto.
- Software de reconocimiento de voz, que convierte las palabras habladas en texto escrito.
- Lectores de pantalla, que convierten texto en palabras habladas o formatos como Braille.
- El lector de pantalla narrador, integrado en Windows, tiene un modo táctil que puede realizar tareas de lectura de pantalla a través de gestos táctiles.
- Programas o configuraciones que ajustan la pantalla, por ejemplo temas de contraste alto, puntos por pulgada (ppp) o la herramienta Lupa.
Las aplicaciones que tienen una buena compatibilidad con el teclado y el lector de pantalla suelen funcionar bien con diversos productos de tecnología de asistencia. En muchos casos, una aplicación de Windows funciona con estos productos sin modificaciones adicionales de información o estructura. Sin embargo, es posible que desee modificar algunas opciones de configuración para una experiencia de accesibilidad óptima o para implementar compatibilidad adicional.
Consulte Pruebas de accesibilidad para probar escenarios de accesibilidad básicos con tecnologías de asistencia.
Compatibilidad con lectores de pantalla e información básica de accesibilidad
Los lectores de pantalla proporcionan acceso al texto dentro de una aplicación presentándolo en otro formato, como el idioma hablado o la salida en Braille. El comportamiento exacto de un lector de pantalla depende del software cómo lo configuró el usuario.
Por ejemplo, algunos lectores de pantalla leen toda la interfaz de usuario cuando el usuario inicia o cambia a una aplicación, lo que permite al usuario recibir todo el contenido informativo antes de intentar navegar por ella. Algunos lectores de pantalla también leen el texto asociado a un control individual cuando recibe el foco durante la navegación con el tabulador. Esto permite a los usuarios orientarse a sí mismos a medida que navegan entre los controles de entrada de una aplicación. Narrador es un ejemplo de un lector de pantalla que admite ambos comportamientos.
La información más importante que necesita un lector de pantalla o cualquier otra tecnología de asistencia para ayudar a los usuarios a comprender o navegar por una aplicación es un nombre accesible para cada elemento de una aplicación. En muchos casos, un control o elemento ya tiene un nombre accesible derivado de otros valores de propiedad, como un elemento que admite y muestra texto interno. Para otros elementos, es posible que tenga que proporcionar un nombre accesible a través de la estructura de elementos. Y a veces es necesario proporcionar explícitamente el nombre accesible. Para obtener más información sobre cómo funcionan estos valores derivados en elementos comunes de la interfaz de usuario y para obtener más información sobre los nombres accesibles en general, vea Exponer información de accesibilidad básica.
Hay otras propiedades de automatización disponibles (incluidas las propiedades de teclado descritas en la sección siguiente). Sin embargo, no todos los lectores de pantalla admiten todas las propiedades de automatización, por lo que debe probar todas las propiedades de automatización adecuadas con una variedad de lectores de pantalla.
Compatibilidad de teclado
La creación de accesibilidad de teclado (para hardware tradicional, modificado o emulación de teclado) en la aplicación, ayuda a los usuarios ciegos, tienen poca visión o tienen problemas de control motor, para navegar por y usar la funcionalidad completa de la aplicación. También permite a los usuarios sin discapacidades elegir el teclado para la navegación debido a preferencias o eficiencia.
El modelo de control XAML básico proporciona compatibilidad integrada con el teclado, incluida la navegación por tabulaciones, la entrada de texto y la compatibilidad específica del control. Los elementos que sirven como contenedores de diseño (como paneles) usan el orden de diseño para establecer un orden de tabulación predeterminado y proporcionar una representación accesible de la interfaz de usuario. Los controles ListBox y GridView proporcionan navegación integrada con teclas de flecha. Los controles de los botones permiten el uso de la barra espaciadora o la tecla Enter para la activación del botón.
Para obtener más información sobre todos los aspectos de la compatibilidad con el teclado, incluido el orden de tabulación y la activación o navegación basada en teclas, consulta Accesibilidad del teclado.
Medios y subtítulos
Normalmente se muestran medios visuales de audio a través de un objeto MediaPlayerElement . Con fines de accesibilidad, proporcione controles que permitan a los usuarios reproducir, pausar y detener el medio, así como subtítulos o pistas de audio alternativas.
Texto accesible
Al diseñar e implementar texto en la aplicación, céntrese en estos tres requisitos básicos de accesibilidad.
- Las tecnologías de asistencia deben ser capaces de determinar si el texto debe leerse durante la navegación de la secuencia de pestañas o como parte del contenido general del documento. Para influir en este comportamiento, elija el elemento de texto correcto y establezca sus propiedades correctamente. Dado que cada elemento de texto se asigna a un propósito específico y, a menudo, a un rol de automatización de la interfaz de usuario correspondiente, el uso del elemento incorrecto puede exponer el rol incorrecto y crear una experiencia confusa para los usuarios de tecnología de asistencia.
- Muchos usuarios tienen deficiencias de visión baja o de visión de color y no pueden leer texto de forma confiable a menos que haya suficiente contraste entre el texto y el fondo. Este impacto puede ser fácil de subestimar durante el diseño. La siguiente guía de contraste establecida ayuda a evitar texto ilegible para estos usuarios. Para obtener más información, consulta Requisitos de texto accesibles.
- El texto que es demasiado pequeño es difícil para que muchos usuarios lean. Comience con un tamaño de texto predeterminado razonable y asegúrese de que la aplicación funciona correctamente con el texto del sistema y el escalado de pantalla. Esto es especialmente importante en las interfaces de usuario que contienen grandes cantidades de texto o diseños visuales densos.
Compatibilidad con temas de contraste alto
Los controles XAML obtienen su apariencia visual de los diccionarios de recursos de tema, incluidos los recursos de temas de contraste alto. Cuando un usuario habilita un modo de alto contraste, los controles se ajustan automáticamente a los recursos de alto contraste adecuados. Para conservar este comportamiento, evite los enfoques de estilo que bloqueen la búsqueda de recursos de tema, como colores codificados de forma rígida o estilos explícitos que impidan que los valores de tema de contraste alto invaliden los valores personalizados. Para más información, ver temas de alto contraste.
Diseño para la interfaz de usuario alternativa
En muchos casos, puede comunicar información esencial de forma más eficaz mediante el uso de varias indicaciones. Por ejemplo, combine iconos con color para apoyar a los usuarios con deficiencias de visión de color y complemente alertas visuales con sonido para apoyar a los usuarios sordos o con problemas de audición.
Cuando sea necesario, proporcione una interfaz de usuario accesible alternativa que quite objetos visuales y animaciones no esenciales y simplifica los flujos de interacción. En el ejemplo de código siguiente se muestra cómo cambiar un UserControl para otro en función de una configuración de usuario.
<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();
}
}
Compatibilidad con tecnología de asistencia en controles personalizados
Al crear un control personalizado, implemente o extienda una o varias subclases AutomationPeer para proporcionar compatibilidad con la accesibilidad. En algunos casos, reutilizar la misma clase de igual nivel que el control base puede proporcionar un comportamiento automatizado básico aceptable para el control derivado. Sin embargo, debe validar esto mediante pruebas y, en la mayoría de los casos, debe implementar un 'peer' dedicado para que pueda informar de el nombre de clase y comportamiento correcto para el control personalizado. Para obtener instrucciones de implementación, consulte Automatización personalizada del mismo nivel.
Compatibilidad de la tecnología de asistencia en aplicaciones que admiten la interoperabilidad entre XAML y Microsoft DirectX.
De forma predeterminada, no se puede acceder al contenido de Microsoft DirectX hospedado en una interfaz de usuario XAML (mediante SwapChainPanel o SurfaceImageSource). En el ejemplo de interoperabilidad XAML DirectX SwapChainPanel (ejemplo heredado archivado) se muestra cómo hacer que el contenido hospedado sea accesible a través de Automatización de la Interfaz de Usuario mediante la creación de un AutomationPeer para el contenido de DirectX. Esta técnica hace que el contenido hospedado sea accesible a través de UI Automation.
Comprobación y publicación
Trate la comprobación de accesibilidad como una actividad de ingeniería en curso, no como un pase de control de calidad final. Ejecute comprobaciones automatizadas para cada compilación siempre que sea posible y acompáñelas con la validación manual de tecnología de asistencia dirigida a las trayectorias críticas del usuario.
Para obtener más información sobre las declaraciones de accesibilidad y la publicación de la aplicación, consulta Accesibilidad en la Tienda.
Ejemplos
Abra la aplicación Galería de WinUI 3 y vea los siguientes principios de accesibilidad en acción:
![]()
La aplicación Galería de WinUI 3 incluye ejemplos interactivos de características y controles winUI. Obtenga la aplicación del Microsoft Store o examine el código fuente en GitHub.
Temas relacionados
Windows developer