Notas de Lançamento do Axe DevTools Mobile em 19 de dezembro 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

19 de dezembro de 2025

Not for use with personal data

Versões dos Componentes

iOS

  • App de Análise iOS para Desktop (axe-devtools-mobile-desktop-app v1.1.0)

Como atualizar: Axe DevTools Mobile Analyzer para iOS
Ainda está usando o projeto XCode do iOS Analyzer?: Mude para o App de Análise Mobile para Desktop

Novidades?

App de Análise Mobile para Desktop iOS

Você já experimentou o app de Análise iOS Mobile para Desktop? Adicionamos funcionalidade de busca à lista de aplicativos, para que você possa filtrar aplicativos por nome e localizar mais facilmente aqueles que deseja verificar quanto a problemas de acessibilidade. Se você ainda estiver usando o projeto Xcode do iOS Analyzer, confira Como Mudar para o App de Análise Mobile para Desktop!

Correções

  • Pequenas correções para garantir a saúde de acessibilidade do app de Análise Mobile para Desktop iOS

Problemas Conhecidos

Se você estiver enfrentando algum dos problemas abaixo, entre em contato conosco em helpdesk@deque.com ou support.deque.com. Isso nos permitirá notificá-lo sobre uma solução identificada, caso nenhuma esteja listada, ou quando o problema for resolvido.

important
  • O teste automatizado do Axe DevTools Mobile executa 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 stack tecnológica.
  • Embora você possa obter alguns resultados de visualizações de web ou PDFs renderizados, recomendamos fortemente o uso do Axe DevTools para Web ou Axe Monitor para o teste de acessibilidade mais abrangente para a web.

iOS

Falsos positivos para a regra Contraste de Cor com fundos em gradiente em telas pequenas

Ao executar verificações de acessibilidade em tamanhos de tela menores ou com tamanhos de fonte menores, a regra de Contraste de Cor pode relatar falsos positivos para fundos em gradiente. Em tais casos, pode ser incapaz de determinar a cor do primeiro plano e, em vez disso, comparar cores de fundo entre si, resultando em uma falha.

Para contornar esse problema, tente executar verificações de acessibilidade em dispositivos maiores. Alternativamente, você pode optar por ignorar a regra em seus testes e verificar o Contraste de Cor manualmente para essas visualizações.

Propriedade isVisible imprecisa do 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 interface nativa). Isso ocorre porque o sistema de acessibilidade verifica se o próprio contêiner WKWebView está visível, em vez de verificar se seu conteúdo da web está realmente desobstruído e perceptível para o usuário.

Erro de acessibilidade do iOS 26 com seletores

O iOS 26 contém um erro de acessibilidade em que os botões de seletor padrão 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 seletor desativados: AssociatedText, InaccessibleAction, e ColorContrast.

Até que a Apple corrija este bug, a resolução será [ignorar as regras](ios-ignore-rule). Os botões de seletor padrão têm os identificadores „Decrementar“ e „Incrementar“, e podem ser ignorados por 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.

Falso Positivo: LabelInName e LabelAtFront em SwiftUI e Apps Multiplataforma

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

Regra de Suporte ao Tipo Dinâmico não funciona com o simulador do 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 será possível testá-la usando um simulador do iPhone 15 Pro. Um bug foi registrado com a Apple.

Restrições 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 de Revisão de Resultados para Apps UIKit

Em aplicativos UIKit, uma imagem sem um accessibilityLabel não fica focável com tecnologia assistiva por padrão.
As propriedades que usamos para verificar a focabilidade a partir da Apple podem estar imprecisas quando um accessibilityIdentifier está definido na imagem. Devido a esse comportamento inesperado, os resultados para problemas de Nome de ImageView em aplicativos UIKit serão relatados como Necessitam Revisão. Um relatório de erro foi enviado à Apple. (#1633)

Falso Positivo: Em Scroll View, Etiqueta no Nome, Etiqueta na Frente, e Nome da Imagem & ActiveControlName v2.11.0

Estamos trabalhando ativamente em correções para os seguintes falsos positivos e atualizaremos esta lista conforme 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 disponíveis para aqueles que necessitam de texto maior, 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 possuir controles focáveis aninhados dentro dele, o ActiveControlName pode relatar um falso positivo no UIImageView. Remover o accessibilityIdentifier resolve o problema. Um bug foi enviado para a Apple. (#1633)

Label In Name and Label At Front
Essas duas regras procuram a etiqueta 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

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, o que garante que o texto sendo escaneado seja visível aos usuários do 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 é incapaz de detectar se algum texto está presente, então a regra de Contraste de Cor não é executada nessa visualização.

EditTextName no Android 7 (SDK 24-25)

Aplicativos 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 no seu aplicativo 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 essa experiência acessível.

Para superar essa questão, nossa primeira recomendação é executar seus testes em versões mais recentes do Android. Se for importante que o aplicativo seja acessível em versões anteriores do Android, no entanto, você pode considerar evitar o uso do recurso de hintText , visto que 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 reporta como problemas.

Estamos trabalhando em uma solução para esse 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 soluçã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 ocorre e você verá o seguinte erro no logcat:

Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.

Para superar esse problema, você deve importar a biblioteca ML Kit manualmente para o seu projeto. No build.gradle arquivo do seu aplicativo, adicione o seguinte sob dependências:

implementation 'com.google.mlkit:text-recognition:16.0.1'
Espaçamento do Alvo Tátil e Jetpack Compose

A regra de Espaçamento do Alvo Tátil 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 solução será lançada 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 deste 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 esse código deve ser comentado apenas para a API 30, pois causará problemas ao salvar localmente para outros níveis de API.

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

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

Aplicativo 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 essa configuração não esteja ativada. Se você optou por utilizar esse recurso por suas melhorias de segurança, recomendamos mantê-lo desativado para compilações de teste internas, onde você pode utilizar 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 quaisquer 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 total funcionalidade do axe DevTools para Mobile, certifique-se de que 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á configurado para verdadeiro

Se estiver minimizando sua compilação, 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. Desative a minimização para suas compilações de depuração com o axe DevTools implementado. (#729)

Compilações com r8 habilitado geram um erro

Uma compilação 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)
Para resolver esse 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 Compose estão obsoletas, por favor, use as APIs agnósticas ao layout para continuar recebendo atualizações. Se continuar usando as APIs Compose e encontrar um erro como `Esperado exatamente '1' nó mas encontrados '2' nós que satisfazem: (isRoot)` ou `Nenhuma visualização inicializada, você chamou AxeDevToolsCompose.setComposeTestRule()?`, por favor, consulte a 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 Cor, Texto Focável e Nome de Elemento Aninhado. (#841)

MAUI: Regra de Nome do Texto Editável

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

Android Nativo: Diálogos/Modais Personalizados

Quando você estiver implementando diálogos ou modais personalizados que não estendem os controles nativos, pode obter resultados para as visualizações por trá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 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 a captura de telas. Frequentemente, isso ocorre por razões de segurança em sua aplicação de produção. Considere remover esse requisito para a versão de teste para permitir funcionalidade completa no axe DevTools Mobile Dashboard.

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

Alguns nomes de varredura do Android que são padrão para o título da tela aparecerão como o nome completo da classe, incluindo o identificador do pacote. Em uma versão futura, 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 a partir do painel ou frameworks. (#1643)