La web es utilizada por una amplia variedad de personas, incluidas aquellas que tienen discapacidades visuales o motoras. Hay una variedad de tecnologías de asistencia disponibles que facilitan la interacción de estos grupos con aplicaciones de software basadas en la web. Además, diseñar una aplicación para que sea más accesible generalmente mejora la experiencia del usuario para todos los usuarios.

Para obtener una introducción detallada a los problemas y técnicas para diseñar aplicaciones accesibles, consulte la Accesibilidad sección de Google Fundamentos de la Web.

Esta página analiza las mejores prácticas para diseñar aplicaciones Angular que funcionen bien para todos los usuarios, incluidos aquellos que dependen de las tecnologías de asistencia.

Para la aplicación de muestra que describe esta página, vea el ejemplo en vivo.

Accesibilidad attributes

Crear una experiencia web accesible a menudo implica establecer ARIA attributes para proporcionar un significado semántico donde de otro modo podría faltar. Usar attribute sintaxis de la plantilla de enlace para controlar los valores de accesibilidad relacionados attributes.

Al vincularse a ARIA attributes en Angular, debes usar el attr. prefix, ya que la especificación ARIA depende específicamente de HTML attributes en lugar de propiedades de elementos DOM.

<button[attr.aria-label]="myActionLabel">...button>

Tenga en cuenta que esta sintaxis solo es necesaria para attribute fijaciones. ARIA estático attributes no requieren sintaxis adicional.

<buttonaria-label="Save document">...button>

Por convención, HTML attributes usar nombres en minúsculas (tabindex), mientras que las propiedades usan nombres camelCase (tabIndex).

Consulte la guía de sintaxis de enlace para obtener más información sobre la diferencia entre attributes y propiedades.

Componentes de la interfaz de usuario angular

los Material angular Library, que es mantenida por el equipo de Angular, es un conjunto de componentes de IU reutilizables que apunta a ser completamente accesible. los Kit de desarrollo de componentes (CDK) incluye el a11y paquete que proporciona herramientas para respaldar diversas áreas de accesibilidad. Por ejemplo:

  • LiveAnnouncer se utiliza para anunciar mensajes para usuarios de lectores de pantalla que utilizan un aria-live región. Consulte la documentación del W3C para obtener más información sobre regiones aria-live.

  • los cdkTrapFocus Pestaña trampas de directivakey enfoque dentro de un elemento. Úselo para crear una experiencia accesible para componentes como los diálogos modales, donde el enfoque debe estar restringido.

Para obtener detalles completos de estas y otras herramientas, consulte la Descripción general de la accesibilidad de Angular CDK.

Aumento de elementos nativos

Los elementos HTML nativos capturan una serie de patrones de interacción estándar que son importantes para la accesibilidad. Al crear componentes de Angular, debe reutilizar estos elementos nativos directamente cuando sea posible, en lugar de volver a implementar comportamientos bien soportados.

Por ejemplo, en lugar de crear un elemento personalizado para una nueva variedad de botones, puede crear un componente que utilice un attribute selector con un nativo