Práticas de acessibilidade a evitarAccessibility practices to avoid

Se você quiser criar um aplicativo do Windows acessível, consulte esta lista de práticas para evitar:If you want to create an accessible Windows app, see this list of practices to avoid:

  • Evite a criação de elementos de interface do usuário personalizados se for possível usar os controles padrão do Windows ou os controles que já implementaram o suporte à Automação de Interface do Usuário da Microsoft.Avoid building custom UI elements if you can use the default Windows controls or controls that have already implemented Microsoft UI Automation support. Controles padrão do Windows são acessíveis por padrão e costumam precisar da adição de apenas alguns atributos de acessibilidade específicas ao aplicativo.Standard Windows controls are accessible by default and usually require adding only a few accessibility attributes that are app-specific. De forma contrária, implementar o suporte AutomationPeer para um controle personalizado de verdade está, de certa maneira, mais evolvido (consulte Pares de automação personalizados).In contrast, implementing the AutomationPeer support for a true custom control is somewhat more involved (see Custom automation peers).

  • Não coloque texto estático ou outros elementos não interativos na ordem de guia (por exemplo, definir a propriedade TabIndex para um elemento que não é interativo).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). Se há elementos não interativos na ordem de guia, isso vai contra as diretrizes de acessibilidade do teclado porque diminui a eficiente da navegação do teclado para usuários.If non-interactive elements are in the tab order, that is against keyboard accessibility guidelines because it decreases efficiency of keyboard navigation for users. Muitas tecnologias assistenciais usam a ordem de tabulação e a capacidade de focar um elemento como parte de sua lógica de como apresentar uma interface do aplicativo para o usuário de tecnologia assistencial.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. Os elementos somente texto podem confundir os usuários que esperam apenas elementos interativos na ordem de tabulação (botões, caixas de seleção, campos de entrada, caixas de combinação, 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 usar posicionamento absoluto de elementos de IU (como em um elemento Canvas) porque a ordem de apresentação costuma ser diferente da ordem de declaração de elemento filho (que, de fato, é a ordem lógica).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). Sempre que possível, disponha os elementos da interface do usuário em documento ou em ordem lógica para assegurar que os leitores de tela possam ler esses elementos na ordem correta.Whenever possible, arrange UI elements in document or logical order to ensure that screen readers can read those elements in the correct order. Se a ordem visível dos elementos de IU podem divergir da ordem do documento ou lógica, use valores de índice de guia explícitos (defina TabIndex) para definir a ordem de leitura correta.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.

  • Não use cores como a única forma de transmitir informações.Don’t use color as the only way to convey information. Os usuários que não distinguem cores não podem receber informações transportadas somente através de cores, como em um indicador de status por cor.Users who are color blind cannot receive information that is conveyed only through color, such as in a color status indicator. Inclua outros indicadores visuais, preferencialmente de texto, para assegurar que as informações sejam acessíveis.Include other visual cues, preferably text, to ensure that information is accessible.

  • Não atualize automaticamente uma tela de aplicativo inteira, a menos que seja realmente necessário para a funcionalidade do aplicativo.Don’t automatically refresh an entire app canvas unless it is really necessary for app functionality. Se precisar atualizar o conteúdo da página automaticamente, atualize somente algumas áreas da página.If you need to automatically refresh page content, update only certain areas of the page. Tecnologias adaptativas costumam supor que uma tela de aplicativo atualizada é uma estrutura completamente nova, mesmo que as alterações efetivas sejam mínimas.Assistive technologies generally must assume that a refreshed app canvas is a totally new structure, even if the effective changes were minimal. O custo disso para o usuário de tecnologia assistencial é que qualquer modo de exibição ou descrição de documento do aplicativo atualizado agora deve ser recriado e apresentado para o usuário novamente.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.

    Uma navegação de página deliberada iniciada pelo usuário é um motivo legítimo para atualizar a estrutura do aplicativo.A deliberate page navigation that is initiated by the user is a legitimate case for refreshing the app's structure. Mas verifique se o item de interface do usuário que inicia a navegação está identificado ou nomeado corretamente para fornecer alguma indicação que chamá-lo resultará em uma mudança de contexto e no recarregamento da 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.

    Observação

    Se você atualizar o conteúdo dentro de uma região, considere definir a propriedade de acessibilidade AccessibilityProperties.LiveSetting nesse elemento para uma das configurações não padrão Polite or Assertive.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. Algumas tecnologias adaptativas podem mapear essa configuração para o conceito de Accessible Rich Internet Applications (ARIA) de regiões dinâmicas e, portanto, informar ao usuário que uma região de conteúdo foi alterada.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.

  • Não use elementos da interface do usuário que piscam mais de três vezes por segundo.Don’t use UI elements that flash more than three times per second. Os elementos piscantes podem fazer com que algumas pessoas tenham ataques epilépticos.Flashing elements can cause some people to have seizures. É melhor evitar o uso de elementos da interface do usuário que piscam.It is best to avoid using UI elements that flash.

  • Não mude o contexto do usuário nem ative a funcionalidade automaticamente.Don’t change user context or activate functionality automatically. As mudanças de contexto ou de ativação devem ocorrer somente quando o usuário faz uma ação direta sobre um elemento da interface do usuário que tem foco.Context or activation changes should occur only when the user takes a direct action on a UI element that has focus. As mudanças no contexto do usuário incluem mudança de foco, exibição de conteúdo novo e navegação para uma página diferente.Changes in user context include changing focus, displaying new content, and navigating to a different page. Fazer mudanças de contexto sem envolver o usuário pode ser desorientador para os usuários que possuem deficiências.Making context changes without involving the user can be disorienting for users who have disabilities. As exceções a essa exigência incluem exibição de submenus, validação de formulários, exibição de texto auxiliar em outro controle e mudança de contexto em resposta a um evento assíncrono.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.