Melhores práticas de acessibilidade

Observação

Este artigo destina-se a desenvolvedores de .NET Framework que querem usar as classes da Automação da Interface do Usuário gerenciadas definidas no namespace System.Windows.Automation. Para obter as informações mais recentes sobre a Automação da Interface do Usuário, confira API de Automação do Windows: Automação da Interface do Usuário.

A implementação das melhores práticas a seguir em controles ou aplicativos melhorará a acessibilidade para pessoas que usam dispositivos de tecnologia assistencial. Muitas dessas melhores práticas se concentram no bom design da interface do usuário (interface do usuário). Cada melhor prática inclui informações de implementação para controles ou aplicativos do Windows Presentation Foundation (WPF). Em muitos casos, o trabalho para atender a essas melhores práticas já está incluído nos controles do WPF.

Acesso Programático

O acesso programático envolve garantir que todos os elementos da interface do usuário sejam rotulados, os valores da propriedade sejam expostos e os eventos apropriados sejam gerados. Para controles WPF padrão, a maior parte desse trabalho já é feita por meio de AutomationPeer. Controles personalizados exigem trabalho adicional para garantir que o acesso programático seja implementado corretamente.

Habilitar o acesso programático a todos os elementos e texto da interface do usuário

Os elementos da interface do usuário devem habilitar o acesso programático. Se a interface do usuário for um controle WPF padrão, a compatibilidade para acesso programático será incluída no controle. Se o controle for um controle personalizado, que foi subclasse de um controle comum ou subclasse do Controle, você precisará verificar a implementação de AutomationPeer de áreas que podem precisar de modificação.

Seguir essa melhor prática permite que os fornecedores de tecnologia assistencial identifiquem e manipulem elementos da interface do usuário do produto.

Colocar nomes, títulos e descrições em objetos, quadros e páginas da interface do usuário

As tecnologias assistenciais, especialmente os leitores de tela, usam o título para entender o local do quadro, objeto ou página no esquema de navegação. Portanto, o título precisa ser descritivo. Por exemplo, um título de página da Web de "Página da Web da Microsoft" será inútil se o usuário tiver navegado profundamente em alguma área específica. Um título descritivo é fundamental para usuários cegos e dependem de leitores de tela. Da mesma forma, para controles WPF, NameProperty e HelpTextProperty são importantes para dispositivos de tecnologia assistencial.

Seguir essa melhor prática permite que as tecnologias assistenciais identifiquem e manipulem a interface do usuário em aplicativos e controles de exemplo.

Garantir que eventos programáticos sejam disparados por todas as atividades da interface do usuário

Seguir essa melhor prática permite que as tecnologias assistenciais escutem as alterações na interface do usuário e notifiquem o usuário sobre essas alterações.

Configurações do usuário

A melhor prática nesta seção garante que os controles ou aplicativos não substituam as configurações do usuário.

Respeitar as configurações de todo o sistema e não interferir nas funções de acessibilidade

Os usuários podem usar o painel de controle para definir alguns sinalizadores em todo o sistema. Outros sinalizadores podem ser definidos programaticamente. Essas configurações não devem ser alteradas por controles ou aplicativos. Além disso, os aplicativos precisam permitir configurações de acessibilidade do sistema operacional host.

Seguir essa melhor prática permite que os usuários definam as configurações de acessibilidade e saibam que elas não serão alteradas por aplicativos.

Design da interface do usuário visual

As melhores práticas nesta seção garantem que os controles ou aplicativos usem cores e imagens com eficiência e possam ser usados pelas tecnologias assistenciais.

Não Embutir Cores

As pessoas que são daltônicas, têm visão fraca ou usam uma tela em preto e branco podem não serem capazes usar aplicativos com cores codificadas em código.

Seguir essa melhor prática permite que os usuários ajustem combinações de cores com base nas necessidades individuais.

Compatibilidade com alto contraste e todos os atributos de exibição do sistema

Os aplicativos não devem interromper nem desabilitar configurações de contraste selecionadas pelo usuário, em todo o sistema, seleções de cores ou outros atributos e configurações de exibição em todo o sistema. As configurações de todo o sistema adotadas por um usuário aprimoram a acessibilidade dos aplicativos, portanto, não devem ser desabilitadas ou desconsideradas pelos aplicativos. A cor deve ser usada em sua combinação de primeiro plano correto em segundo plano para fornecer contraste adequado. Não misture cores não relacionadas e não inverta as cores.

Muitos usuários exigem combinações específicas de alto contraste, como texto em branco em um plano de fundo preto. Desenhar eles invertidos, pois o texto preto em um plano de fundo branco faz com que o plano de fundo borre em primeiro plano e pode dificultar a leitura para alguns usuários.

Verifique se todas as interfaces do usuário são dimensionadas corretamente por qualquer configuração de DPI

Verifique se toda a interface do usuário pode ser dimensionada corretamente por qualquer configuração de pontos por polegada (dpi). Além disso, verifique se os elementos da interface do usuário se encaixam em uma tela de 1024 x 768 com 120 pontos por polegada (dpi).

As melhores práticas nesta seção garantem que a navegação tenha sido tratada para controles e aplicativos.

Fornecer interface do teclado para todos os elementos da interface do usuário

As paradas de tabulação, especialmente quando cuidadosamente planejadas, oferecem aos usuários outra maneira de navegar pela interface do usuário.

Os aplicativos devem fornecer as seguintes interfaces de teclado:

  • parada de guia para todos os controles com os quais o usuário pode interagir, como botões, links ou caixas de listagem
  • ordem de guia lógica

Mostrar o foco do teclado

Os usuários precisam saber qual objeto tem o foco do teclado para que possam prever o efeito de seus pressionamentos de tecla. Para realçar o foco do teclado, use cores, fontes ou elementos gráficos, como retângulos ou ampliação. Para realçar audivelmente o foco do teclado, altere o volume, o tom ou o timbre.

Para evitar confusão, os aplicativos devem ocultar todos os indicadores de foco visual e enfraquecer as opções localizadas em janelas (ou painéis) inativas.

Os aplicativos devem fazer o seguinte com foco no teclado:

  • um item deve sempre ter o foco do teclado
  • o foco do teclado deve ser visível e óbvio
  • seleções e/ou itens focados devem ser visualmente realçados

Compatibilidade com padrões de navegação e esquemas de navegação avançados

Diferentes aspectos da navegação por teclado fornecem diferentes maneiras de os usuários navegarem pela interface do usuário.

Os aplicativos devem fornecer as seguintes interfaces de teclado:

  • teclas de atalho e chaves de acesso sublinhadas para todos os comandos, menus e controles
  • atalhos de teclado para links importantes
  • todos os itens de menu têm uma chave de acesso, todos os botões têm teclas de acelerador, todos os comandos têm uma tecla aceleradora.

Não permitir que a localização do mouse interfira na navegação do teclado

A localização do mouse não deve interferir na navegação do teclado. Por exemplo, se o mouse estiver posicionado em algum lugar e o usuário estiver navegando com o teclado, um clique do mouse não deverá acontecer, a menos que seja iniciado pelo usuário.

Interface multimodal

As melhores práticas nesta seção garantem que a interface do usuário do aplicativo inclua alternativas para elementos visuais.

Fornecer equivalentes selecionáveis pelo usuário para elementos que não são de texto

Para cada elemento não textual, forneça um equivalente selecionável pelo usuário para texto, transcrições ou descrições de áudio, como texto alt, legendas ou comentários visuais.

Elementos não textuais abrangem uma grande variedade de elementos da interface do usuário, como imagens, regiões de mapa de imagens, animações, applets, quadros, scripts, botões gráficos, sons, arquivos de áudio autônomos e vídeo. Elementos não textuais são importantes quando contêm informações visuais, fala ou informações de áudio gerais às quais o usuário precisa de acesso para entender o conteúdo da interface do usuário.

Usar cor, mas também fornecer alternativas à cor

Use a cor para aprimorar, enfatizar ou reiterar as informações mostradas por outros meios, mas não comunique as informações usando apenas a cor. Usuários daltônicos ou que têm um monitor monocromático precisam de alternativas à cor.

Usar APIs de entrada padrão com chamadas independentes de dispositivo

Chamadas independentes de dispositivo garantem a igualdade de recursos de teclado e mouse, ao mesmo tempo em que fornecem tecnologia assistencial com informações necessárias sobre a interface do usuário.

Confira também