Notas de Lançamento do axe DevTools Mobile 9 de julho de 2025
9 de julho de 2025
O que há de Novo?
A experiência de navegação no painel do axe DevTools Mobile foi atualizada, permitindo uma navegação mais fácil entre diferentes áreas da plataforma axe. Clique no logotipo do axe no canto superior esquerdo do painel para navegar para outros produtos axe, como o axe Reports.
Problemas Conhecidos
Se você estiver enfrentando algum dos problemas abaixo, por favor entre em contato conosco em helpdesk@deque.com ou support.deque.com. Assim, poderemos notificá-lo quando o problema for resolvido ou sobre uma solução alternativa identificada, caso nenhuma esteja listada.
- Os testes automatizados do axe DevTools Mobile são executados em aplicativos nativos iOS, Android e React Native. Por favor, entre em contato com seu representante Deque para soluções de testes de acessibilidade em sua stack tecnológica.
- Embora você possa obter alguns resultados de visualizações web ou PDFs renderizados, recomendamos fortemente o uso do axe DevTools for Web ou axe Monitor para os testes de acessibilidade mais abrangentes para a web.
iOS
Color Contrast rule does not run when text and background colors are the same
Our Color Contrast rule depends on Machine Learning to detect text, which ensures that the text being scanned is visible to users of your application. In cases where the text contained in a view is the same color as the background, our Machine Learning algorithm is unable to detect if any text is present, so the Color Contrast rule does not run on this view.
Incapaz de Executar Scans em Dispositivos Físicos com iOS Analyzer 1.4.7
Uma configuração no iOS Analyzer 1.4.7 impede a execução de scans, retornando a mensagem "Teste Falhou". Para realizar scans em um dispositivo físico, atualize para o projeto mais recente do iOS Analyzer.
Erro no Projeto Analyzer & Testando por ID de Pacote na versão 2.8.1
A funcionalidade de teste de um aplicativo por identificador de pacote foi quebrada na versão 2.8.1, resultando em um erro intitulado "Nenhum caminho de aplicativo alvo especificado via configuração de teste: ...". Atualize para a versão 2.8.2 ou a versão mais recente para resolver o erro. Atualize para a versão mais recente do projeto iOS Analyzer.
Erro "Não foi possível Serializar AxeResult" no Projeto Analyzer v1.2.0 & SDK v2.12.3
O escaneamento de alguns aplicativos com esta versão do analyzer e o 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 a versão mais recente do projeto iOS Analyzer.Atualize para a versão mais recente do iOS SDK.
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 ao Tipo Dinâmico não funciona com o simulador iOS 15 Pro
Há um problema que afeta o simulador do iPhone 15 Pro que impede a execução da regra de Suporte ao Tipo Dinâmico. Se você estiver inscrito na regra de Suporte ao 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
Ao procurar 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 Revisar 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 a focabilidade 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 Necessitando de Revisão. Um relatório de bug foi registrado com a Apple. (#1633)
Falso Positivo: Em Visualização de Rolagem, Label In Name, Label at Front, e v2.11.0 Nome de Imagem & ActiveControlName
Estamos trabalhando ativamente em soluções para os seguintes falsos positivos e atualizaremos esta lista à medida que as soluções forem lançadas.
In Scroll View
Pode relatar problemas para texto em elementos que se comportam como banner. Para tornar esses elementos disponíveis para quem necessita de texto maior, utilize UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Se uma UIImageView tem um `accessibilityIdentifier` definido mas não é focável pelo VoiceOver, e tem controles focáveis aninhados dentro dela, o ActiveControlName pode relatar um falso positivo na UIImageView. Remover o `accessibilityIdentifier` resolve o problema. Um bug foi registrado com a Apple. (#1633)
Label In Name and Label At Front
Estas duas regras procuram pelo 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 incorreto próximo pode ser detectado, causando a falha dessas regras. (#1622)
Android
A regra de Contraste de Cor não é executada quando as cores do texto e do fundo são iguais
Nossa regra de Contraste de Cor depende de aprendizado de máquina para detectar texto, garantindo que o texto escaneado seja visível para os usuários do seu aplicativo. Em casos em que o texto contido em uma visualização tenha a mesma cor que o fundo, nosso algoritmo de aprendizado de máquina não consegue detectar se há texto presente, então a regra de Contraste de Cor não é executada nesta visualização.
EditTextName no Android 7 (SDK 24-25)
Aplicativos escritos com XML que utilizam o recurso de texto de dica podem ver falsos positivos com a EditTextName regra. O texto de dica não foi introduzido até o Android 8 (SDK 26). Usar esse elemento no seu aplicativo XML atribuirá o texto de dica ao valor do campo de entrada de texto. As versões mais recentes do Android estão melhor equipadas para tornar esta experiência acessível.
Para superar esse problema, nossa primeira recomendação é executar seus testes em versões mais recentes do Android. No entanto, se for importante que o aplicativo seja acessível em versões anteriores do Android, você pode considerar evitar o uso do hintText recurso, já que ele não é oficialmente suportado.
Visualizações Android ocultas retornando resultados
Você pode ver os resultados para visualizações que estão ocultas atrás de outras visualizações na tela. Essas visualizações ocultas não estão disponíveis para tecnologia assistiva, mas o axe DevTools Mobile ainda as relata como questões.
Estamos trabalhando em uma correção para este problema complexo. Enquanto isso, se o TalkBack não puder acessar essas visualizações, você pode ignorar os problemas correspondentes. Eles não requerem correção para garantir a acessibilidade.
Erro ao executar a Detecção de Texto do ML Kit
A detecção de texto do ML Kit é necessária em muitas das regras do axe DevTools Mobile para garantir a precisão dos resultados. A biblioteca ML Kit deve ser importada automaticamente ao referenciar o axe DevTools Mobile em seus testes automatizados de Espresso ou UIAutomator. No entanto, em alguns casos, a importação automática não acontece e você verá o seguinte erro no logcat:
Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.
Para superar este problema, você deve importar a biblioteca ML Kit manualmente em seu projeto. No build.gradle arquivo do seu aplicativo, adicione o seguinte em dependências:
implementation 'com.google.mlkit:text-recognition:16.0.1'
Espaçamento da Área de Toque e Jetpack Compose
A regra de Espaçamento da Área de Toque atualmente não está sendo executada em nenhum componente deslizante que foi escrito em Jetpack Compose. Nenhuma ação pode ser tomada neste momento. No entanto, uma correção estará disponível em breve!
Erro ao salvar resultados localmente na API 30
No Android API 30, um dos locais em que tentamos salvar os resultados localmente apresenta um erro de permissões. O resultado ainda será salvo como um arquivo JSON, apesar desse erro ser exibido. O erro pode ser suprimido comentando o código no bloco a seguir:
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 obter resultados inesperados quando os 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 completamente visível na tela antes de realizar a verificação.
App Analisador: Botão de Ação Flutuante Desaparece
Introduzida com a API 31 (Android 12) está a capacidade de ocultar sobreposições não-sistema. Para utilizar o aplicativo axe Analyzer, certifique-se de que esta configuração não esteja ativada. Se você optou por utilizar este recurso para suas melhorias de segurança, recomendamos deixá-lo desligado para versões de testes internos onde você pode usar dados de teste com segurança e eliminar preocupações de segurança dessa maneira. 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 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 de segurança. Confira nosso guia para habilitar capturas de tela em aplicativos Android.
Falha quando `minifiedEnabled` está definido como true
Se minimizar sua build, você 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. Desabilite a minimização para suas builds de debug com o axe DevTools implementado. (#729)
Builds com r8 habilitado geram um erro
Uma build com r8 habilitado 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 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 Compose e encontrar um erro do tipo `Esperado exatamente '1' nó, mas encontrado '2' nós que satisfazem: (isRoot)` ou `Nenhuma View 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 regras podem não retornar conforme esperado quando essa regra estiver utilizando inteligência artificial. As regras afetadas incluem Contraste de Cores, Texto Focável e Nome de Elemento Aninhado. (#841)
MAUI: Regra Nome do Texto Editável
Devido a limitações da arquitetura do aplicativo MAUI sendo renderizada no ecossistema Android, a regra Nome do Texto Editável aparecerá como Necessita 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 Customizados / Modais
Quando você estiver implementando diálogos ou modais personalizados que não estendem os controles nativos, pode ser que você obtenha 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, verificá-los manualmente para garantir que se comportem com a tecnologia assistiva como 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 motivos de segurança em seu aplicativo de produção. Considere remover essa exigência para seu build de teste para permitir funcionalidade completa no Painel de Mobile DevTools axe.
Alguns nomes de verificação no Android não estão formatados
Alguns nomes de verificação no 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 versão, isso será resolvido 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 frameworks. (#1643)
