Limitações de acessibilidade em aplicações de tela
Pode projetar e criar aplicações de tela acessíveis com controlos incorporados. Por vezes, a combinação de design de aplicações, o uso de vários controlos e as propriedades de controlo configuradas podem resultar que uma aplicação tenha uma interface de utilizador inacessível.
Neste artigo, vai aprender sobre estas limitações de acessibilidade em aplicações de tela, e como pode melhorar a interface da aplicação para torná-la mais acessível.
Diálogos e sobreposições
Os diálogos e interfaces de utilizador que aparecem em cima de outros conteúdos não são suportados. Estas sobreposições requerem gestão de foco, ocultação de conteúdo de fundo dos leitores de ecrã e funções de controlo apropriadas.
Considere o seguinte:
- Utilize ecrãs separados para cada "diálogo".
- Utilize a função Notify .
- Crie um componente de código que implemente um diálogo acessível.
Interfaces com separadores
Uma interface com separadores é composta por uma lista de separadores e um painel que mostra o conteúdo associado ao separador selecionado.
O único controlo incorporado que suporta interfaces com separadores é Lista de separadores. Evite utilizar Galerias para criar separadores. A lista de separadores deve ser navegável com teclas de seta. São necessárias funções de controlo e estados adequados.
Considere o seguinte:
- Utilize a Lista de separadores incorporada.
- Crie um componente de código que implemente uma interface com separadores acessível.
Tabelas personalizadas
O único controlo incorporado que suporta dados bidimensionais é o Tabela de Dados. Evite utilizar Galerias para apresentar dados em linhas e colunas. As linhas e colunas têm de ser anotadas para que os utilizadores do leitor de ecrã possam compreender a sua estrutura e navegar entre as células.
Considere o seguinte:
- Utilize a Tabela de dados incorporada.
- Apresentar dados numa só direção com uma Galeria.
- Crie um componente de código que implemente uma tabela acessível.
Caixas de combinação personalizadas
É possível emular uma caixa de combinação ao combinar uma Entrada de texto e uma Galeria. No entanto, as caixas de combinação montadas a partir de controlos incorporados não são acessíveis. As caixas de combinação devem processar as teclas de seta e definir as funções e estados apropriados nos respetivos componentes.
Considere o seguinte:
- Utilize a caixa de combinação ou a Lista pendente incorporadas.
- Crie um componente de código que implemente uma caixa de combinação acessível.
Conteúdo deslocável
Os utilizadores de teclado não podem deslocar Formulários, Ecrãs deslocáveis e Contentores se não houver controlos interativos no seu interior.
Para Galerias sem conteúdo interativo, pode definir TabIndex na própria Galeria para que os utilizadores de teclado possam concentrar-se nela e usar teclas de seta para o deslocar.
Para Etiquetas, a definição TabIndex irá torná-las focáveis para a deslocação do teclado. No entanto, também os transformará em botões. Não torne as etiquetas deslocáveis se não forem para ser botões. Certifique-se de que a Etiqueta é suficientemente grande para encaixar no texto. A propriedade AutoHeight pode ser utilizada para ajustar automaticamente o tamanho do controlo quando está dentro de um Formulário, Ecrã deslocável ou Galeria.
Secções expansíveis
Secções expansíveis, também conhecidas como divulgações, contêm conteúdo que é ocultado até que o utilizador pressione um botão. Não há suporte integrado para estes elementos, mas há uma solução alternativa.
Mencione o estado expandido no AccessibleLabel do botão. Por exemplo: "Mostrar mais detalhes. Fechado.”.
Atualize o AccessibleLabel quando o estado expandido mudar. Posicione o conteúdo expandido imediatamente após o botão para que os utilizador do leitor de ecrã possam navegar logicamente para ele. Empurre outros conteúdos para baixo quando a secção se expandir.
Pontos de referência
Pode criar títulos com controlos de Etiqueta. A navegação, faixa e outros pontos de referência não são suportados. O Power Apps define automaticamente o ponto de referência principal para o ecrã da aplicação.
Para outros pontos de referência, use um título como uma solução alternativa.
Funções e estados personalizados
Não há suporte integrado para funções e estados personalizados. Por isso, não é recomendado criar caixas de verificação compostas, diapositivos e comutadores a partir de controlos incorporados.
Considere o seguinte:
- Mencione a função e o estado do controlo no respetivo AccessibleLabel. Por exemplo, se um Ícone for utilizado como caixa de verificação, a respetiva etiqueta pode ser "Ativar notificações. Caixa de verificação. Verificado.”.
- Crie um componente de código que defina as funções e os estados WAI-ARIA apropriados.
Manuseamento personalizado de teclado
Não é possível reagir ao pressionar de teclas específicas. Por exemplo, não é possível ter um comportamento personalizado para as teclas de seta ou para a tecla Escape. Por conseguinte, não é possível compor controlos semelhantes a listas, como botões de opções a partir de controlos incorporados. Também não pode criar sobreposições que podem ser ignoradas com a tecla Escape.
O manuseamento das teclas Enter ou Espaço é suportado com OnSelect. No entanto, esta propriedade também é acionada por outros métodos de entrada, como cliques de rato. Não há como distinguir a origem do evento.
Gestão do foco
A função SetFocus pode ser usada para mudar o foco, mas funciona apenas em cenários limitados.
Não é possível detetar quando os controlos recebem ou perdem o foco.
Ocultar conteúdo apenas de utilizadores do leitor de ecrã
Não existe um equivalente ocultado pelo aria para mostrar conteúdo aos utilizadores avistados, mas ocultá-lo para os utilizadores do leitor de ecrã. Apenas alguns cenários são suportados.
Passos seguintes
Propriedades de acessibilidade