Notas de Lançamento do axe DevTools Mobile 26 de Novembro 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

26 de novembro de 2025

Not for use with personal data

Versões de Componentes

iOS

  • iOS Appium 2 Driver (axe-appium-xcuitest-driver v2.1.1)
    • (Desviado do XCUITest v9.10.4)
  • iOS Appium 3 Driver (axe-appium3-xcuitest-driver v1.0.1)
    • (Desviado do XCUITest v10.4.3)

Como atualizar: Driver iOS Appium

Android

  • Android Appium 2 Driver (axe-appium-uiautomator2-driver v2.1.1)
    • (Desviado do UiAutomator2 v4.2.8)
  • Android Appium 3 Driver (axe-appium3-uiautomator2-driver v1.0.1)
    • (Desviado do UiAutomator2 v5.0.1)

Como atualizar: Driver Android Appium

Correções

Drivers Appium

  • Melhorias na experiência de integração do axe Developer Hub para agrupar automaticamente todas as análises de uma única sessão de teste em um único relatório.

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 assim que o problema for resolvido ou de uma solução alternativa identificada, caso não esteja listada.

important
  • O teste automatizado do axe DevTools Mobile é executado em aplicativos nativos iOS, Android nativo 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 de visualizações da web ou PDFs renderizados, recomendamos fortemente o teste usando axe DevTools for Web ou axe Monitor para o teste de acessibilidade mais abrangente para a web.

iOS

Propriedade imprecisa isVisible da XCTest

As APIs de acessibilidade da Apple podem relatar incorretamente o conteúdo da web dentro do WKWebView como "isVisible", mesmo quando a visualização da web está coberta por sobreposições nativas (como visualizações modais, alertas ou outros elementos de UI nativos). Isso ocorre porque o sistema de acessibilidade verifica se o contêiner WKWebView em si é visível, em vez de se seu conteúdo web está realmente desobstruído e perceptível para o usuário.

Bug de acessibilidade do iOS 26 com incrementadores

O iOS 26 contém um bug de acessibilidade onde botões padrão de incrementadores não anunciam "esmaecido" pela Tecnologia Assistiva para indicar que não estão habilitados. Como resultado, as regras do iOS também veem esses botões como habilitados, mesmo que não estejam. Um relatório de bug foi enviado para a Apple, mas até que isso seja resolvido, as seguintes regras podem relatar resultados em botões de incrementadores desabilitados: AssociatedText, InaccessibleAction, e ColorContrast.

Até que a Apple corrija esse bug, a solução será [ignorar as regras](ios-ignore-rule). Os botões padrão de incrementadores têm os identificadores "Decrementar" e "Incrementar" e podem ser ignorados pelo identificador, se necessário.

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 Análises em Dispositivos Físicos com o iOS Analyzer 1.4.7

Uma configuração no iOS Analyzer 1.4.7 impede a execução das análises, retornando a mensagem "Teste Falhou". Para executar análises em um dispositivo físico, atualize para o projeto iOS Analyzer mais recente.

Erro no Projeto Analyzer & Teste por ID de Pacote na 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 "No target application path specified via test configuration: ...". Atualize para 2.8.2 ou a versão mais recente para resolver o erro. Atualize para a mais recente dentro do projeto iOS Analyzer.

Erro "Could not Serialize AxeResult" no Projeto Analyzer v1.2.0 & SDK v2.12.3

Analisar alguns aplicativos com esta versão do Analyzer e SDK resultaria em um "Could not Serialize AxeResult" erro. 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 (#1622)

A regra Suporta 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 Suporta Tipo Dinâmico. Se você estiver inscrito na regra Suporta Tipo Dinâmico, não poderá testá-la usando um simulador do iPhone 15 Pro. Um bug foi reportado à Apple.

Regras contra Controles Aninhados

Ao observar uma melhoria para nossas regras, descobrimos que no XCTest, controles aninhados não são retornados na árvore de acessibilidade. Um bug foi reportado à Apple. (#1110)

Regra de Nome de ImageView Precisa de Revisão em Apps UIKit

Em apps UIKit, uma imagem sem um accessibilityLabel não é focalizável com tecnologia assistiva por padrão.
As propriedades que usamos para verificar a focalização 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 apps UIKit serão relatados como Necessita de Revisão. Um relatório de bug foi enviado à Apple. (#1633)

Falso Positivo: Em Scroll View, Label In Name, Label at Front e Nome de Visualização de Imagem v2.11.0 & Nome de Controle Ativo

Estamos trabalhando ativamente em soluçõ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 em elementos que se comportam como banner. Para tornar esses elementos disponíveis para aqueles que requerem texto maior, use UILargeContentViewer. (#622)

v2.11.0 Image View Name & Active Control Name
Se uma UIImageView tem um accessibilityIdentifier definido mas não é focalizável pelo VoiceOver, e possui controles focalizáveis aninhados dentro dela, o ActiveControlName pode relatar um falso positivo na UIImageView. Remover o accessibilityIdentifier resolve o problema. Um bug foi reportado à 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, causando falhas nessas 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 do Aprendizado de Máquina para detectar texto, o que garante que o texto sendo escaneado é visível para os usuários de seu aplicativo. Em casos onde o texto contido em uma visualização é da mesma cor que o fundo, nosso algoritmo de Aprendizado de Máquina não consegue detectar se algum texto está presente, então a regra de Contraste de Cor não é executada nesta visualização.

EditTextName no Android 7 (SDK 24-25)

Apps escritos com XML que utilizam o recurso de texto de sugestão podem ver falsos positivos com a EditTextName regra. O texto de sugestão não foi introduzido até o Android 8 (SDK 26). Usar este elemento em seu app XML atribuirá o texto de sugestão ao valor do campo de entrada de texto. Versões mais recentes do Android estão melhor equipadas para tornar esta experiência acessível.

Para superar este problema, nossa primeira recomendação é executar seus testes em versões mais recentes do Android. No entanto, se for importante que o app seja acessível em versões anteriores do Android, você pode considerar evitar o uso do recurso hintText , pois ele não é oficialmente suportado.

Visualizações ocultas no Android retornando resultados

Você pode ver 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 problemas.

Estamos trabalhando em uma solução para este problema complexo. Enquanto isso, se o TalkBack não conseguir alcançar essas visualizações, você pode desconsiderar os problemas correspondentes. Eles não exigem uma 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 Espresso ou UIAutomator. Em alguns casos, no entanto, 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 em seu projeto manualmente. No seu arquivo de build.gradle do aplicativo, adicione o seguinte em dependências:

implementation 'com.google.mlkit:text-recognition:16.0.1'
Espaçamento de Alvo de Toque e Jetpack Compose

A regra de Espaçamento de Alvo de Toque atualmente não está sendo executada em nenhum componente deslizante que foi escrito no Jetpack Compose. Nenhuma ação pode ser tomada no momento. No entanto, uma solução está a caminho!

Erro ao salvar resultados localmente no 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 de este 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
// }
}

Observe que este código deve ser comentado apenas para o API 30, pois causará problemas ao salvar localmente em outros níveis de API.

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

Em alguns apps híbridos e multiplataforma, podemos retornar resultados inesperados quando itens em uma visualização rolável estão parcialmente fora da tela. Para testar um elemento para acessibilidade, certifique-se de que ele esteja completamente na tela antes de realizar a verificação.

App Analyzer: Botão de Ação Flutuante Desaparece

Introduzida com a API 31 (Android 12) está a capacidade de ocultar sobreposições não do sistema. Para utilizar o app axe Analyzer, certifique-se de que esta configuração não está ativada. Se você optou por utilizar este recurso por seus aprimoramentos de segurança, recomendamos deixá-lo desativado para as versões internas de teste, onde você pode utilizar os 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 todas as chamadas para o 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 habilitadas. Recomendamos habilitar capturas de tela em uma versão de depuração ou teste do seu aplicativo que use dados simulados para evitar problemas de segurança. Confira nosso guia para habilitar capturas de tela em aplicativos Android.

Falha quando `minifiedEnabled` está definido como true

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

Builds com r8 habilitado geram um erro

Uma build com r8 habilitado pode tentar minificar a biblioteca axeDevTools, resultando em um erro similar 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)
Para resolver este erro, adicione a seguinte linha ao seu arquivo ProGuard para manter as classes axeDevTools:
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 independentes de layout para continuar recebendo atualizações. Se você continuar usando as APIs do Compose e encontrar um erro como `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` ou `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, consulte a API setTestTag do Compose.

Mensagem de log:MlKitContext has not been initialized

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

MAUI: Regra Nome do Texto de Edição

Devido a limitações da arquitetura de aplicativos MAUI ao renderizar no ecossistema Android, a regra Nome do Texto de Edição 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 neste 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 para garantir que eles funcionem com a tecnologia assistiva conforme desejado.

Painel Web

Captura de tela ausente

Se a captura de tela estiver ausente na página de detalhes da varredura, seu aplicativo pode estar impedindo que as 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 funcionalidade completa no painel do axe DevTools Mobile.

Alguns nomes de varredura Android estão sem formatação

Alguns nomes de varredura 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 um futuro lançamento, 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 varredura no painel ou nos frameworks. (#1643)