# Accesibilidad en Angular Hay una amplia variedad de personas que utilizan la web, algunas de ellas con discapacidad visual o motora. Existen diferentes tecnologías de apoyo que hacen que sea mucho más fácil para estos grupos interactuar con aplicaciones de software basadas en la web. Además, diseñar una aplicación para que sea más accesible, normalmente mejora la experiencia de usuario en general. Para una introducción en profundidad a los problemas y técnicas sobre el diseño de aplicaciones accesibles, puede consultar la sección de [Accesibilidad](https://developers.google.com/web/fundamentals/accessibility/#what_is_accessibility) de Google [Fundamentos Web](https://developers.google.com/web/fundamentals/). Esta página habla de las mejores prácticas para diseñar aplicaciones en Angular que funcionan bien para todos los usuarios, incluyendo aquéllos que necesitan tecnologías de apoyo.
Para ver la aplicación de ejemplo que describe esta página, ir a .
## Atributos de accesibilidad Crear una web accesible a menudo implica establecer los [atributos ARIA](https://developers.google.com/web/fundamentals/accessibility/semantics-aria) para proporcionar la semántica que, de otro modo, podría no estar presente. Usa la plantilla de sintaxis del [enlace de atributos](attribute binding) (guide/attribute-binding) para controlar los valores de los atributos relacionados con la accesibilidad. Para enlazar los atributos ARIA en Angular, debes usar el prefijo `attr.`, ya que la especificación ARIA depende de los atributos HTML y no de las propiedades de los elementos del DOM. ```html ``` Observa que esta sintaxis solo es necesaria para los _enlaces_ de atributos. Los atributos ARIA estáticos no requieren de ninguna sintaxis adicional. ```html ``` NOTA:
Por convenio, los atributos HTML se escriben en minúscula (`tabindex`), mientras que para las propiedades se usa *camelCase* (`tabIndex`). Consulta la guía [Sintaxis del enlace](guide/binding-syntax#html-attribute-vs-dom-property) para saber más sobre las diferencias entre atributos y propiedades.
## Componentes del interfaz de usuario de Angular La librería [Angular Material](https://material.angular.io/), que es mantenida por el equipo Angular, es un conjunto de componentes reutilizables para la interfaz de usuario que pretende ser totalmente accesible. El [Kit de Desarrollo de Componentes (CDK)](https://material.angular.io/cdk/categories) (Component Development Kit) incluye el paquete `a11y` que proporciona herramientas para dar soporte a distintos aspectos de la accesibilidad. Por ejemplo: * `LiveAnnouncer` se utiliza para comunicar mensajes a los usuarios de lectores de pantalla que usan la region `aria-live`. Se puede consultar la documentación de la W3C para obtener más información sobre [regiones aria-live](https://www.w3.org/WAI/PF/aria-1.1/states_and_properties#aria-live). * La directiva `cdkTrapFocus` limita el foco de la tecla de tabulación para que se quede dentro de un elemento. Úsala para crear una experiencia accesible en componentes como las ventanas modales, donde el foco debe estar limitado. Para obtener más detalles sobre esta y otras herramientas, consulta el [resumen de accesibilidad del Angular CDK](https://material.angular.io/cdk/a11y/overview). ### 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, deberías 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 un nuevo tipo de botón, puedes crear un componente que use un selector de atributos con un elemento nativo `