Procedimientos de accesibilidad que deben evitarseAccessibility practices to avoid

Si desea crear una aplicación de Windows accesible, consulte esta lista de prácticas para evitar:If you want to create an accessible Windows app, see this list of practices to avoid:

  • Evita compilar elementos de la interfaz de usuario personalizados si puedes usar los controles predeterminados de Windows o los controles que ya hayan implementado la compatibilidad con la automatización de la interfaz de usuario de Microsoft.Avoid building custom UI elements if you can use the default Windows controls or controls that have already implemented Microsoft UI Automation support. Se puede obtener acceso de forma predeterminada a los controles estándar de Windows y, por lo general, solo es necesario agregar unos pocos atributos de accesibilidad específicos de la aplicación.Standard Windows controls are accessible by default and usually require adding only a few accessibility attributes that are app-specific. Por el contrario, implementar la compatibilidad de la clase AutomationPeer con un control personalizado te resultará un poco más complicado (consulta el tema Personalizar sistemas de automatización del mismo nivel).In contrast, implementing the AutomationPeer support for a true custom control is somewhat more involved (see Custom automation peers).

  • No coloque texto estático u otros elementos no interactivos en el orden de tabulación (por ejemplo, estableciendo la propiedad TabIndex para un elemento que no sea interactivo).Don't put static text or other non-interactive elements into the tab order (for example, by setting the TabIndex property for an element that is not interactive). Tener elementos no interactivos en el orden de tabulación no es compatible con las directrices de accesibilidad del teclado, ya que reduce la eficacia de navegación de los usuarios que usan el teclado.If non-interactive elements are in the tab order, that is against keyboard accessibility guidelines because it decreases efficiency of keyboard navigation for users. Muchas tecnologías de ayuda usan el orden de tabulación y la capacidad de enfocar un elemento como parte de su lógica en cuanto al modo de presentar la interfaz de una aplicación al usuario de la tecnología de asistencia.Many assistive technologies use tab order and the ability to focus an element as part of their logic for how to present an app's interface to the assistive technology user. Los elementos de solo texto en el orden de tabulación pueden confundir a los usuarios, ya que solo esperan elementos interactivos en el orden de tabulación (botones, casillas, campos de entrada de texto, cuadros combinados, listas, etc.).Text-only elements in the tab order can confuse users who expect only interactive elements in the tab order (buttons, check boxes, text input fields, combo boxes, lists, and so on).

  • Evite el uso de la posición absoluta de los elementos de la interfaz de usuario (por ejemplo, en un elemento Canvas ) porque el orden de presentación a menudo difiere del orden de las declaraciones de los elementos secundarios (que es el orden lógico de hecho).Avoid using absolute positioning of UI elements (such as in a Canvas element) because the presentation order often differs from the child element declaration order (which is the de facto logical order). Cuando sea posible, organiza los elementos de la interfaz de usuario en un orden lógico o de documento para asegurarte de que los lectores de pantalla puedan leer dichos elementos en el orden correcto.Whenever possible, arrange UI elements in document or logical order to ensure that screen readers can read those elements in the correct order. Si el orden visible de los elementos de la interfaz de usuario difiere del orden lógico o de documento, puedes usar valores de índice de tabulación explícitos (puedes establecer TabIndex) para definir el orden de lectura correcto.If the visible order of UI elements can diverge from the document or logical order, use explicit tab index values (set TabIndex) to define the correct reading order.

  • No uses los colores como el único modo de transmitir información.Don’t use color as the only way to convey information. Los usuarios que sufren de daltonismo no pueden recibir información que solo se transmite mediante el color, como un indicador de estado de color.Users who are color blind cannot receive information that is conveyed only through color, such as in a color status indicator. Incluye otras indicaciones visuales, preferentemente texto, para asegurarte de que pueda obtenerse acceso a la información.Include other visual cues, preferably text, to ensure that information is accessible.

  • No actualice automáticamente un lienzo de aplicación completo a menos que sea realmente necesario para la funcionalidad de la aplicación.Don’t automatically refresh an entire app canvas unless it is really necessary for app functionality. Si necesitas actualizar automáticamente el contenido de la página, actualiza solo ciertas áreas.If you need to automatically refresh page content, update only certain areas of the page. Las tecnologías de asistencia deben tener en cuenta que el lienzo actualizado de una aplicación es una estructura totalmente nueva, incluso si los cambios que se realizaron en el mismo son mínimos.Assistive technologies generally must assume that a refreshed app canvas is a totally new structure, even if the effective changes were minimal. Esto afecta al usuario de la tecnología de asistencia, ya que se debe volver a crear y presentar al usuario cualquier descripción o vista de documento de la aplicación actualizada.The cost of this to the assistive technology user is that any document view or description of the refreshed app now must be recreated and presented to the user again.

    Una navegación de páginas intencional iniciada por el usuario es un caso legítimo para actualizar la estructura de la aplicación.A deliberate page navigation that is initiated by the user is a legitimate case for refreshing the app's structure. Pero asegúrate de que el elemento de la interfaz de usuario que inicia la navegación se denomine o esté identificado correctamente para dar alguna indicación de que su invocación generará un cambio de contexto y la recarga de la página.But make sure that the UI item that initiates the navigation is correctly identified or named to give some indication that invoking it will result in a context change and page reload.

    Nota

    Si actualizas el contenido dentro de una región, te recomendamos que establezcas la propiedad de accesibilidad AccessibilityProperties.LiveSetting de ese elemento en uno de los parámetros Polite o Assertive no predeterminados.If you do refresh content within a region, consider setting the AccessibilityProperties.LiveSetting accessibility property on that element to one of the non-default settings Polite or Assertive. Algunas tecnologías de asistencia pueden asignar este parámetro al concepto Aplicaciones de Internet enriquecidas y accesibles (ARIA) de las regiones activas y, de esta forma, pueden informar al usuario de que una región de contenido ha cambiado.Some assistive technologies can map this setting to the Accessible Rich Internet Applications (ARIA) concept of live regions and can thus inform the user that a region of content has changed.

  • No uses elementos de la interfaz de usuario que parpadeen más de tres veces por segundo.Don’t use UI elements that flash more than three times per second. Este tipo de elementos puede ocasionar convulsiones en algunas personas.Flashing elements can cause some people to have seizures. Es mejor evitarlos.It is best to avoid using UI elements that flash.

  • No cambies el contexto de usuario ni actives una funcionalidad de forma automática.Don’t change user context or activate functionality automatically. Los cambios de activación y el contexto solamente deben producirse cuando el usuario realiza una acción directa en un elemento de la interfaz de usuario que tiene enfoque.Context or activation changes should occur only when the user takes a direct action on a UI element that has focus. Los cambios en el contexto del usuario incluyen cambiar el enfoque, mostrar el contenido nuevo y navegar a una página diferente.Changes in user context include changing focus, displaying new content, and navigating to a different page. La realización de cambios al contexto sin que el usuario participe puede desorientar a aquellos usuarios que tienen discapacidades.Making context changes without involving the user can be disorienting for users who have disabilities. Las excepciones a este requisitos son, entre otras, mostrar submenús, validar formularios, mostrar texto de ayuda en otro control y cambiar el contexto en respuesta a un evento asincrónico.The exceptions to this requirement include displaying submenus, validating forms, displaying help text in another control, and changing context in response to an asynchronous event.