Notas de Lançamento do axe DevTools Mobile de 12 de Fevereiro de 2025

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

12 de fevereiro de 2025

Not for use with personal data

Versões dos Componentes

  • Android SDK (axe-devtools-android v6.1.0)
  • Android Analyzer (axe Accessibility Analyzer v1.11.0)
  • Driver Android Appium (axe-appium-uiautomator2-driver v1.3.0)
  • axe DevTools Reporter CLI v4.10.0

Como atualizar: Android SDK, Android Analyzer, Driver Android Appium, axe DevTools Reporter CLI

O que há de novo?

Driver Android Appium

O recurso Regras de Ignorar agora está disponível para o driver Android Appium! Consulte nossa documentação das Regras de Ignorar Android observando que, para o driver Android Appium, as Regras de Ignorar só podem ser implementadas com todas as visualizações, não por visualizações selecionadas ou nome da classe. Para saber mais sobre como Ignorar Regras, consulte nossa documentação de configuração do Appium. O suporte para o driver iOS Appium está chegando em breve.

axe Reporter CLI

Agora, ao gerar um relatório HTML a partir do arquivo JSON da varredura móvel, você poderá ver a Pontuação de Acessibilidade ao lado da contagem total de problemas, proporção de acertos e classificação de severidade dos problemas. Você pode ver uma pontuação para todas as varreduras ou selecionar uma única varredura para ver sua pontuação. Esta adição está alinhada com a Pontuação de Acessibilidade que você vê no painel do axe DevTools Mobile.
Para referência, a Proporção de Acertos é a porcentagem de requisitos de acessibilidade que foram atendidos com sucesso do total de requisitos verificados. A Pontuação de Acessibilidade é calculada com base no número total de telas, no número de problemas e na severidade desses problemas.

Correções para Android

  • Resultados mais consistentes e confiáveis em aplicativos nativos e multiplataforma
  • Melhorias de acessibilidade para o aplicativo Analyzer
  • Atualizações para melhorar o desempenho e a precisão de todas as regras de acessibilidade

Problemas conhecidos

Se você estiver enfrentando algum dos problemas abaixo, entre em contato conosco pelo helpdesk@deque.com ou support.deque.com. Poderemos notificá-lo assim que for resolvido ou sobre uma solução alternativa identificada, caso nenhuma esteja listada.

important
  • Os testes automatizados do axe DevTools Mobile são executados em aplicações nativas iOS, Android nativo e React Native. Por favor, entre em contato com seu representante Deque para soluções de testes de acessibilidade no seu stack tecnológico.
  • Embora você possa obter alguns resultados de visualizações da web ou PDFs renderizados, recomendamos fortemente o uso do axe DevTools para Web ou axe Monitor para testes de acessibilidade mais completos para a web.

iOS

Erro no Projeto Analyzer & Testes por ID de Bundle na versão 2.8.1

A funcionalidade de testar uma aplicação pelo identificador de bundle foi quebrada na versão 2.8.1, resultando em um erro intitulado „Nenhum caminho de aplicação alvo especificado via configuração de teste: ...“. Atualize para a versão 2.8.2 ou a última versão para resolver o erro. Atualize para a última versão dentro do projeto iOS Analyzer.

Erro „Não foi possível serializar AxeResult“ no Projeto Analyzer v1.2.0 & SDK v2.12.3

Analisar alguns aplicativos com esta versão do analisador e SDK resultaria em um erro „Não foi possível serializar AxeResult“. Atualize para a versão mais recente para resolver o erro. Atualize para o projeto mais recente do iOS Analyzer.Atualize para o SDK mais recente do iOS.

Falso Positivo: LabelInName e LabelAtFront em SwiftUI & Apps Multiplataforma

Algumas telas podem relatar falsos positivos com LabelInName e LabelAtFront devido a uma propriedade associatedText incorreta sendo encontrada (#1622)

Regra de Suporte a Tipo Dinâmico não funciona com simulador iOS 15 Pro

Há um problema que afeta o simulador do iPhone 15 Pro que impede a execução da regra de Suporte a Tipo Dinâmico. Se você estiver inscrito na regra de Suporte a Tipo Dinâmico, não poderá testá-la usando um simulador do iPhone 15 Pro. Um bug foi registrado com a Apple.

Regras contra Controles Aninhados

Durante a análise de uma melhoria para nossas regras, descobrimos que, no XCTest, controles aninhados não são retornados na árvore de acessibilidade. Um bug foi registrado com a Apple. (#1110)

Regra de Nome de ImageView Precisa de Revisão dos Resultados para Apps UIKit

Em aplicativos UIKit, uma imagem sem um `accessibilityLabel` não é focável com tecnologia assistiva por padrão.
As propriedades que usamos para verificar o foco das tecnologias da Apple podem ser imprecisas quando um `accessibilityIdentifier` é definido na imagem. Devido a esse comportamento inesperado, os resultados para problemas de Nome de ImageView em aplicativos UIKit serão relatados como Precisam de Revisão. Um relatório de bug foi registrado com a Apple. (#1633)

Falso Positivo: Em Scroll View, Label In Name, Label at Front e Nome da ImageView v2.11.0 & ActiveControlName

Estamos trabalhando ativamente em correções para os seguintes falsos positivos e atualizaremos esta lista à medida que as correções forem lançadas.

In Scroll View
Pode relatar problemas para texto dentro de elementos que se comportam como banners. Para tornar esses elementos acessíveis a quem precisa de textos maiores, use UILargeContentViewer. (#622)

v2.11.0 Image View Name & Active Control Name
Se um UIImageView tiver um `accessibilityIdentifier` definido mas não for focável pelo VoiceOver, e tiver controles focáveis aninhados dentro dele, o ActiveControlName pode relatar um falso positivo no UIImageView. Remover o `accessibilityIdentifier` resolve o problema. Um bug foi registrado com a Apple. (#1633)

Label In Name and Label At Front
Essas duas regras procuram o rótulo visível de um controle entre elementos próximos para ajudar a determinar o status da regra. Em algumas hierarquias de visualização, o texto próximo incorreto pode ser detectado, fazendo com que essas regras falhem. (#1622)

Android

Espaçamento de Alvo de Toque e Jetpack Compose

A regra de Espaçamento de Alvo de Toque atualmente não está funcionando em nenhum componente slider que foi escrito em Jetpack Compose. Nenhuma ação pode ser realizada no momento. No entanto, uma correção está chegando em breve!

Erro ao salvar resultados localmente na API 30

No Android API 30, um dos locais onde tentamos salvar resultados localmente apresenta um erro de permissões. O resultado ainda será salvo como um arquivo JSON, apesar de esse erro ser exibido. O erro pode ser suprimido comentando o código no seguinte bloco:

def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') {
    executable "${android.getAdbExecutable().toString()}"
    args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases'
//    finalizedBy {
//        fetchAndroidFolderAxeReportsTask
//    }
}

Please note that this code should only be commented out for API 30 as it will cause problems when saving locally for other API levels.

Detecção de rolagem em Apps Híbridos e Multiplataforma

Em alguns aplicativos híbridos e multiplataforma, podemos retornar resultados inesperados quando itens em uma visualização de rolagem estão parcialmente fora da tela. Para testar um elemento quanto à acessibilidade, certifique-se de que ele esteja totalmente na tela antes de realizar a varredura.

App do Analisador: Botão de Ação Flutuante Desaparece

Introduzido com a API 31 (Android 12) está a capacidade de ocultar sobreposições não-sistemáticas. Para utilizar o aplicativo axe Analyzer, certifique-se de que esta configuração não esteja ativada. Se você optou por utilizar esse recurso por seus aprimoramentos de segurança, recomendamos deixá-lo desativado para builds de teste interno onde é possível usar dados de teste com segurança e eliminar preocupações de segurança dessa forma. Note: this setting does not affect Google's accessibility scanner app as it's considered a system overlay.

Para utilizar o aplicativo axe Accessibility Analyzer, atualize qualquer chamada ao método setHideOverlayWindows(true) para setHideOverlayWindows(false) nas janelas de atividades afetadas.

Captura de Tela Ausente (Caixa Preta) no Painel

Para desbloquear a funcionalidade completa do axe DevTools para Mobile, certifique-se de que as capturas de tela estão ativadas. Recomendamos ativar capturas de tela em uma versão de depuração ou teste do seu aplicativo que use dados de teste simulados para evitar preocupações com a segurança. Confira nosso guia para ativar capturas de tela em aplicativos Android.

Falha quando `minifiedEnabled` está configurado para true

Se você estiver minimizando sua build, verá uma falha com um log de erro relatando que um adaptador não pôde ser encontrado ao tentar fazer login na biblioteca axe DevTools. Desative a minimização para suas builds de depuração com o axe DevTools implementado. (#729)

Builds com r8 ativado geram um erro

Uma build com r8 ativada pode tentar minimizar a biblioteca axeDevTools, resultando em um erro semelhante a:

Caused by: java.lang.NullPointerException: throw with null exception
at g.b.b.a$a.a(Unknown Source:1)
at g.b.b.a$a.a(Unknown Source:0)
at g.b.b.a.a(AccessToken.java:190)
    
To resolve this error add the following line to your ProGuard file to keep axeDevTools classes:
keep class com.deque.** { *; }

Mensagem de erro semelhante a:
Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)
ou: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?

As APIs do Compose estão obsoletas, por favor, use as APIs agnósticas de layout para continuar recebendo atualizações. Se você continuar a usar as APIs do Compose e encontrar um erro do tipo „Esperava exatamente '1' nó, mas encontrou '2' nós que satisfazem: (éRaiz)“ ou „Nenhuma Visualização inicializada, você chamou AxeDevToolsCompose.setComposeTestRule()?“, por favor, consulte API Compose setTestTag.

Mensagem de log:MlKitContext has not been initialized

Se você encontrar esta mensagem, alguns resultados de regra podem não retornar como esperado quando essa regra estiver utilizando inteligência artificial. As regras afetadas incluem Contraste de Cor, Texto Focável e Nome de Elemento Aninhado. (#841)

MAUI: Regra de Nome de Texto Editável

Devido a limitações da arquitetura do aplicativo MAUI na renderização no ecossistema Android, a regra de Nome de Texto Editável aparecerá como Precisa de Revisão no painel quando uma falha for suspeita para a versão SDK 5.5.0 e acima. Por favor, confirme o comportamento correto manualmente para este caso.

Android Nativo: Diálogos/Modais Personalizados

Ao implementar diálogos ou modais personalizados que não estendem os controles nativos, você pode obter resultados para visualizações atrás do modal. Nesse caso, recomendamos não executar nossa ferramenta contra esses modais ou diálogos personalizados e, em vez disso, verificar manualmente se eles se comportam com tecnologia assistiva conforme desejado.

Painel Web

Captura de Tela Ausente

Se a captura de tela estiver ausente na página de detalhes da verificação, seu aplicativo pode estar impedindo que capturas de tela sejam tiradas. Muitas vezes, isso ocorre por razões de segurança em seu aplicativo de produção. Considere remover esse requisito na sua versão de testes para permitir a funcionalidade completa no axe DevTools Mobile Dashboard.

Alguns nomes de verificações do Android estão sem formatação

Alguns nomes de verificações do Android que são padronizados para o título da tela aparecerão como o nome completo da classe, incluindo o identificador do pacote. Em uma futura atualização, isso será corrigido para que o título da tela seja formatado em um nome mais legível. Como solução alternativa, você pode definir o nome da verificação a partir do painel ou dos frameworks. (#1643)