Limitações de acessibilidade em aplicativos de tela
Você pode projetar e criar aplicativos de tela acessíveis com controles embutidos. Às vezes, a combinação do design do aplicativo, o uso de vários controles e as propriedades de controle configuradas podem tornar a interface de usuário de um aplicativo inacessível.
Neste artigo, você aprenderá sobre essas limitações de acessibilidade em aplicativos de tela e como pode melhorar a interface do aplicativo para torná-la mais acessível.
Diálogos e sobreposições
Diálogos e interfaces de usuário que aparecem sobre outro conteúdo não têm suporte. Essas sobreposições exigem gerenciamento de foco, ocultação de conteúdo de fundo de leitores de tela e funções de controle apropriadas.
Considere estes fatores:
- Use telas separadas para cada "diálogo".
- Use a função Notify .
- Crie um componente de código que implemente um diálogo acessível.
Interfaces com guias
Uma interface com guias é composta por uma lista de guias e um painel que mostra o conteúdo associado à guia selecionada.
O único controle integrado que oferece suporte a interfaces com guias é a Lista de guias. Evite usar Galerias para criar guias. A lista de guias deve ser navegável com teclas de seta. Funções e estados de controle apropriados são necessários.
Considere estes fatores:
- Use a Lista de guias integrada.
- Crie um componente de código que implemente uma interface acessível com guias.
Tabelas personalizadas
O único controle integrado que dá suporte a dados bidimensionais é a Tabela de Dados. Evite usar Galerias para apresentar dados em linhas e colunas. Linhas e colunas devem ser anotadas para que os usuários de leitores de tela possam entender sua estrutura e navegar em células.
Considere estes fatores:
- Use a Tabela de Dados integrada.
- Apresente dados em uma direção apenas com uma Galeria.
- Crie um componente de código que implemente uma tabela acessível.
Caixas de combinação personalizadas
É possível simular uma caixa de combinação associando uma Entrada de Texto e uma Galeria. No entanto, as caixas de combinação montadas a partir de controles embutidos não são acessíveis. As caixas de combinação devem tratar teclas de seta e definir funções e estados apropriados em componentes.
Considere estes fatores:
- Use a Caixa de combinação integrada ou Suspensa.
- Crie um componente de código que implemente uma caixa de combinação acessível.
Conteúdo rolável
Os usuários de teclado não poderão rolar Formulários, Telas roláveis e Contêineres se não houver controles interativos dentro deles.
Para Galerias sem conteúdo interativo, você pode definir TabIndex na própria Galeria para que os usuários do teclado possam focá-lo e usar as teclas de seta para percorrê-lo.
Para Rótulos, definir TabIndex os tornará focalizáveis para rolagem do teclado. No entanto, isso também irá transformá-los em botões. Não torne os rótulos roláveis se não forem destinados a ser botões. Verifique se o Rótulo é grande o suficiente para caber no texto. A propriedade AutoHeight pode ser usada para ajustar automaticamente o tamanho do controle quando ele está dentro de um Formulário, Tela rolável ou Galeria.
Seções expansíveis
As seções expansíveis, também conhecidas como divulgações, têm conteúdo que fica oculto até que o usuário pressione um botão. Não há suporte integrado para esses elementos, mas há uma solução alternativa.
Mencione o estado expandido no AccessibleLabel do botão. Por exemplo, "Mostrar mais detalhes. Recolhido.".
Atualize o AccessibleLabel quando o estado expandido mudar. Posicione o conteúdo expandido imediatamente após o botão para que os usuários do leitor de tela possam navegar logicamente até ele. Aplique outro conteúdo quando a seção expandir.
Pontos de referência
Você pode criar títulos com controles de Rótulo. Navegação, faixa e outros pontos de referência não têm suporte. O Power Apps define automaticamente o ponto de referência principal para a tela do aplicativo.
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. Portanto, não é recomendável criar caixas de seleção compostas, controles deslizantes e alternâncias a partir dos controles integrados.
Considere estes fatores:
- Mencione a função e o estado do controle em AccessibleLabel. Por exemplo, se um ícone for usado como uma caixa de seleção, o rótulo poderá ser "Habilitar notificações. Caixa de seleção. Marcada.".
- Crie um componente de código que defina funções e estados WAI-ARIA conforme indicado.
Tratamento de teclado personalizado
Não é possível reagir a pressionamentos de tecla específicos. Por exemplo, você não pode ter um comportamento personalizado para teclas de seta ou a tecla Escape. Portanto, não é possível compor controles semelhantes a listas, como botões de opção de controles integrados. Você também não pode criar sobreposições que possam ser descartadas com a tecla Escape.
O tratamento da tecla Enter ou Espaço é compatível com OnSelect. No entanto, essa propriedade também é disparada por outros métodos de entrada, como cliques do mouse. Não há como distinguir a origem do evento.
Gestão de foco
A função SetFocus pode ser usada para mudar o foco, mas só funciona em cenários limitados.
Não é possível detectar quando os controles recebem ou perdem o foco.
Ocultar conteúdo apenas de usuários de leitores de tela
Não há equivalente do atributo aria-hidden para mostrar conteúdo para usuários com visão, mas ocultá-lo para usuários de leitores de tela. Somente alguns cenários têm suporte.
Próximas etapas
Propriedades de acessibilidade