Dicas para Tornar Acessíveis as Interfaces com o Usuário

Veja a seguir uma séria de dicas para tornar os aplicativos compatíveis com programas de acessibilidade, como a interface de Acessibilidade fornecida pelo Windows.

Utilize grupos em vez de rótulos.
Se você utilizar um Rótulo para dar título a um grupo de widgets relacionados, remova o rótulo e substitua seu composto pai por um Grupo cujo texto seja o mesmo que o Rótulo do título.
 
Evite compostos intermediários.
As ferramentas de acessibilidade serão lidas tanto quanto a hierarquia pai de um widget com foco for possível. Certifique-se de que não haja widgets sem texto em nenhum lugar da árvore.
 
Utilize textos de leitura em vez de rótulos.
Um Texto pode ser acessado utilizando o teclado e deverá ser utilizado se você quiser que as informações em um rótulo sejam acessíveis para navegação pelo teclado. Observe que um rótulo ao lado de um texto será tratado como um título e assim, se você tiver um par de título/valor, somente será exigido que você torne o widget de valor um Texto.
 
Ler e entender a lista de verificação da IBM.
A IBM fornece uma lista de verificação útil para boa acessibilidade no endereço http://www.ibm.com/able/guidelines/software/accesssoftware.html
 
Atribuir mnemônicos a todos os menus e itens de menus.
Assegure que eles sejam exclusivos dentro de um determinado menu. Se um menu for composto dinamicamente de vários plug-ins, será melhor não designar mnemônicos, uma vez que não será possível evitar conflitos em geral (por exemplo, a lista Arquivo > Novo ou a lista Janela > Mostrar Visualização)
 
Designe mnemônicos a todos os rótulos de controles em diálogos / páginas de preferências / páginas de propriedades (por exemplo, botões, caixas de opções, botões de rádio, etc)
Assegure que sejam exclusivos no diálogo. Tome cuidado para evitar confrontos com os botões padrão (por ex., Restaurar &Padrões, &Aplicar nas páginas de preferências; &Avançar, &Voltar, &Concluir em assistentes). Não atribua mnemônicos aos botões OK e Cancelar. Se OK tornar-se o botão padrão do shell e Cancelar for equivalente a fechar o shell, Enter e Esc serão mapeados para essas definições por padrão. Geralmente, não é uma boa idéia utilizar Esc ou Enter.
 
Assegurar que os controles que não têm etiquetas sejam precedidos por uma etiqueta.
Se um controle não tiver sua própria etiqueta (por exemplo, um campo de texto), utilize uma etiqueta anterior que termine com ':' e designe um mnemônico a ela. Os leitores de tela como JAWS lerão essa etiqueta quando o controle tiver o foco (consulte Janela > Preferências > Geral)
 
Evite rótulos extras sem posição fixa.
Você não pode navegar para rótulos sem posição fixa com o teclado, e leitoras de tela como a JAWS ignoram estes, pois eles não aceitam o foco
 
Não designar mnemônicos a controles na janela principal.
Não coloque mnemônicos em controles na janela principal (exceto menus principais e seus itens), mesmo que pareça ser um diálogo (por ex., os editores de formulário no org.eclipse.ui.forms), pois geralmente entrarão em conflito com os mnemônicos dos menus
 
Designar teclas de atalho para as funções mais utilizadas (e somente para estas funções).
Existem apenas duas maneiras de conectar teclas de atalho no SWT: Consulte a tabela de teclas de atalho do Eclipse SDK, disponível no Eclipse a partir da página de preferências Geral > Teclas, para evitar a colisão.
 
Evitar as combinações Alt+{tecla}, Ctrl+Alt+{tecla} e Ctrl+Espaço+{tecla}.
Tentar salvar o contexto de navegação.
Por exemplo, em Janela > Preferências, lembramos agora qual a página foi selecionada por último. Isso evita ter que navegar pela lista todas as vezes
 
Atribuir uma pessoa específica da equipe para ser responsável pela acessibilidade em seu projeto.
Tudo que é importante precisa de um advogado. Certifique-se de que todos na equipe saibam que uma boa acessibilidade é crucial e é de bom grado oferecer à pessoa sua total cooperação.
 
Testar a acessibilidade.
Combine com sua equipe "um dia de desconexão do mouse" para que tentem utilizar o produto apenas com o teclado. Se você estiver desenvolvendo no Window, obtenha uma cópia do JAWSTM e assegure-se de que sua UI seja utilizável com ela