Compartilhar via


Navegação por teclado na tela aprimorada em aplicativos de tela (experimental)

[Este artigo faz parte da documentação de pré-lançamento e está sujeito a alterações.]

Importante

  • Este recurso é experimental e, em breve, será preterido. Em vez de usá-lo, considere estruturar um aplicativo adequadamente para obter a ordem desejada de navegação das guias.
  • Os recursos experimentais não foram criados para uso em ambientes de produção e podem ter funcionalidade restrita. Esses recursos são disponibilizados antes de um lançamento oficial para que os clientes possam ter acesso antecipado e forneçam comentários.

Ao aninhar controles, como instâncias de componentes e contêineres, o valor da entrada de usuário para TabIndex às vezes não é respeitado. A configuração experimental Navegação por teclado na tela aprimorada melhora a experiência de navegação nessa situação quando a tecla Tab é pressionada no teclado ajudando a focar no contêiner ou controle desejado de forma precisa e previsível.

Este recurso também adiciona suporte para lidar com a acessibilidade para tabulações de teclado em linha com o resto dos controles em aplicativos de tela. E aborda as atribuições manuais do TabIndex para todos os controles.

Observação

Este recurso é adicionado como "Experimental" para manter a compatibilidade com versões anteriores e manter a funcionalidade do aplicativo existente.

Quando este recurso é ativado, ele também habilita as seguintes propriedades boolianas para todos os controles filho da instância de componente ou contêiner selecionada em aplicativos de tela:

Nome da Propriedade Descrição
Priorizar controles filhos Determina a ordem de navegação (Ordem Z) para controles filho na tela ao pressionar a tecla Tab no teclado.
  • Ativado (Padrão): pressionar a tecla Tab no teclado primeiro avançará por todos os controles filho antes de mover o foco para fora da instância de componente ou contêiner selecionada. Esta opção é recomendada para elementos HTML aninhados de forma semelhante.
  • Desativado: pressionar a tecla Tab no teclado avançará por todos os controles somente com base na ordem Z, ignorando o relacionamento pai/filho entre os controles ou contêineres para navegação por teclado.
Observação: esta propriedade não é aplicável a contêineres responsivos ou AutoLayout.
Habilitar foco de controle filho Determina o valor de TabIndex para controles filho na tela ao pressionar a tecla Tab no teclado.
  • Ativado (Padrão): pressionar a tecla Tab se comporta de acordo com os valores de TabIndex definidos em cada controle.
  • Desativado: pressionar a tecla Tab não move o foco para nenhum controle filho dentro da instância de componente ou contêiner selecionada. Define o valor de TabIndex como -1 para todos os controles filho.

Configurar a navegação por teclado na tela aprimorada no seu aplicativo

Se ainda não estiver habilitado, siga estas etapas para habilitar esse recurso no seu aplicativo e defina as propriedades mencionadas anteriormente.

  1. Entre no Power Apps.

  2. Selecione Aplicativos no painel esquerdo.

  3. Selecione seu aplicativo e, em seguida, selecione Editar.

  4. No Power Apps Studio, selecione Configurações>Recursos futuros>Experimental.

  5. Selecione Navegação por teclado na tela aprimorada para ativar o recurso.

    Configuração da navegação por teclado na tela aprimorada

  6. Feche as configurações.

Agora que habilitou o recurso experimental, você verá duas novas propriedades para controles e contêineres Priorizar controles filho e Habilitar foco de controles filho. Altere os valores das propriedades conforme apropriado.

Propriedades da navegação por teclado na tela aprimorada

Exemplos

Agora que você entende o novo recurso com navegação por teclado na tela aprimorada, vamos dar uma olhada em alguns exemplos para entender o comportamento quando a tecla Tab é pressionada.

Comportamento padrão da navegação por teclado na tela aprimorada

O exemplo a seguir mostra vários controles de entrada de texto e vários cenários de aninhamento. O número exibido na entrada representa o valor da propriedade TabIndex. Há dois contêineres aninhados e controles de componentes sobrepostos.

A ordem padrão é determinada pela posição relativa dos controles. Quando o foco entra em um contêiner ou componente, as tabulações primeiro percorrem os filhos do contêiner antes de passar para o próximo controle disponível.

Comportamento padrão do aplicativo

Quando Priorizar controles filho está definido como Desativado

No exemplo a seguir, cada controle de componente e contêiner tem a propriedade Priorizar controles filho definida como "Desativado". Todas as entradas são, portanto, consideradas no mesmo nível de aninhamento, então a ordem é determinada puramente pela sua posição X/Y em relação à tela.

Não priorizar controles filho

Configuração avançada com configurações mistas

No exemplo a seguir, os contêineres destacados em laranja têm a propriedade Priorizar controles filho definida como "Desativado". Todos os outros controles têm essa propriedade definida como "Ativado". Além disso, uma propriedade TabIndex personalizada foi definida para algumas entradas, indicada pelo número mostrado em cada entrada.

A ordem das tabulações primeiro avança pelos contêineres e controles com um valor de TabIndex maior que 0 e, em seguida, avança por todos os outros com valor 0. Esse comportamento também existia na implementação anterior.

Configuração avançada com configurações mistas

Confira também