Notas de Lançamento do Axe DevTools Mobile de 12 de fevereiro de 2025
12 de fevereiro de 2025
Versões dos Componentes
- Android SDK (axe-devtools-android v6.1.0)
- Analisador Android (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 de Ignorar Regras agora está disponível para o driver Android Appium! Consulte o nosso documentação das Regras de Ignorar Android observando que, para o driver Appium Android, as Regras de Ignorar só podem ser implementadas com todas views, não por visualizações selecionadas ou nomes de classes. Para saber mais sobre como Ignorar Regras, veja nosso documentação de configuração do Appium. O suporte para o driver iOS Appium está chegando em breve.
Axe Reporter CLI
Agora, quando você gera um relatório HTML a partir do arquivo JSON da verificação móvel, poderá ver a Pontuação de Acessibilidade junto com a contagem total de problemas, a relação de aprovação e o balanço da severidade dos problemas. Você pode ver uma pontuação para todas as verificações ou selecionar uma única verificação para ver sua pontuação. Esta adição está alinhada com o Pontuação de Acessibilidade que você vê no Painel do Axe DevTools Mobile.
Para referência, o Proporção de Acertos é a porcentagem de requisitos de acessibilidade que foram atendidos com sucesso em relação ao número total de requisitos verificados. O Pontuação de Acessibilidade é calculado 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 qualquer um dos problemas abaixo, entre em contato conosco pelo helpdesk@deque.com ou support.deque.com. Assim poderemos notificá-lo assim que for resolvido ou de uma solução alternativa identificada, caso nenhuma esteja listada.
- Os testes automatizados do Axe DevTools Mobile são executados em aplicações nativas iOS, nativas Android e React Native. Entre em contato com seu representante Deque para soluções de teste de acessibilidade em sua pilha tecnológica.
- Embora você possa obter alguns resultados a partir de visualizações da web ou PDFs renderizados, recomendamos fortemente o uso do Axe DevTools para Web ou Axe Monitor para os testes de acessibilidade mais abrangentes 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
Introduzida com API 31 (Android 12) está a capacidade de esconder sobreposições não-sistêmicas. Para utilizar o app Axe Analyzer, certifique-se de que esta configuração não esteja ativada. Se você optou por utilizar este recurso por suas melhorias de segurança, recomendamos deixá-lo desativado para builds de teste internos onde você pode utilizar dados de teste com segurança e assim eliminar preocupações de segurança. Note: this setting does not affect Google's accessibility scanner app as it's considered a system overlay.
Para utilizar o app Axe Accessibility Analyzer, atualize qualquer chamada para o método setHideOverlayWindows(true) para setHideOverlayWindows(false) nas janelas de atividades afetadas.
Captura de Tela Ausente (Caixa Preta) no Painel
Para desbloquear toda a funcionalidade do Axe DevTools para Mobile, certifique-se de que as capturas de tela estejam habilitadas. Recomendamos habilitar capturas de tela em uma versão de depuração ou teste do seu aplicativo que use dados simulados para evitar preocupações com segurança. Confira nosso guia para ativar capturas de tela em aplicativos Android.
Falha quando `minifiedEnabled` está configurado para true
Se estiver minimizando seu build, você verá um crash 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 seus builds de depuração com 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 para sua build de teste para permitir a funcionalidade completa no Painel do Axe DevTools Mobile.
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)
