Notas de Lançamento do Axe DevTools Mobile 2 de julho de 2026

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

2 de julho de 2026

Not for use with personal data

Versões dos Componentes

Appium

iOS

  • Driver iOS Appium 2 (axe-appium2-xcuitest-driver v2.5.0)
    • (Com base no XCUITest v9.10.4)
  • Driver iOS Appium 3 (axe-appium3-xcuitest-driver v1.4.0)
    • (Com base no XCUITest v11.10.0)

Como atualizar: Driver iOS Appium

Android

  • Driver Android Appium 2 (axe-appium2-uiautomator2-driver v2.5.0)
    • (Com base no UiAutomator2 v4.2.8)
  • Driver Android Appium 3 (axe-appium3-uiautomator2-driver v1.4.0)
    • (Com base no UiAutomator2 v7.6.1)

Como atualizar: Driver Android Appium

O que há de novo?

Relatórios HTML Agregados

Adicionar mobile: generateHtmlReportAndSummary uma vez por teste produzirá um relatório HTML autocontido para verificações direcionadas e o transferirá do dispositivo para um diretório local - axeHtmlReportPath. Encontre detalhes de implementação aqui: Gerar um Relatório HTML e Resumo.

Depreciações e Remoções

A propriedade de configuração axeServerUrl para Auto Scan foi descontinuada, assim como a axeServiceUrl para Testes Direcionados. axeAccountURL foi configurada para substituir ambas as propriedades.

Problemas Conhecidos

Se você estiver enfrentando algum dos problemas abaixo, entre em contato conosco em helpdesk@deque.com ou support.deque.com. Poderemos notificá-lo quando estiver resolvido ou de uma solução de contorno identificada, se não houver nenhuma 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 de tecnologia.
  • Embora você possa obter alguns resultados de visualizações da web ou PDFs renderizados, recomendamos fortemente o uso do axe DevTools para Web ou do axe Monitor para os testes de acessibilidade mais abrangentes para a web.

iOS

O Contraste de Cor pode ser executado em elementos apenas com ícones devido ao OCR

A regra de Contraste de Cor utiliza o framework Vision da Apple (Reconhecimento Óptico de Caracteres, ou OCR) para ler texto dentro dos limites de um elemento. O OCR pode ocasionalmente identificar incorretamente pequenos glifos semelhantes a ícones - como setas de retorno (<), marcadores, símbolos decorativos - como texto. Quando isso acontece, a regra de Contraste de Cor é executada em um elemento que não contém texto legível, o que pode gerar um resultado para um botão apenas com ícones. Como a saída do OCR não é determinística entre as verificações, o mesmo elemento pode aparecer entre os resultados de Contraste de Cor em uma varredura e ser relatado como "INAPLICÁVEL" na próxima. Esta é uma característica conhecida do OCR, não um bug na regra.

Para contornar este problema, você pode usar as ignore APIs para suprimir os resultados de Contraste de Cor para os elementos afetados.



// Ignore Color Contrast for a specific element by accessibility identifier
axeDevTools?.configuration.ignore(rulesFor: [
    "backButton": [AxeRuleId.ColorContrast.toString()]
])

// Ou ignore o Contraste de Cor globalmente axeDevTools?.configuration.ignore(rule: AxeRuleId.ColorContrast.toString())

Saiba mais sobre ignorar regras.

Falso positivo no Título da Tela em aplicativos Flutter

O Flutter não mapeia AppBar.title para a propriedade de título de tela nativa - UIViewController.title, fazendo com que a regra do Título da Tela falhe em todas as telas Flutter, independentemente de um título descritivo estar presente.

Esta é uma limitação conhecida da plataforma Flutter acompanhada em flutter/flutter#185894.

Falsos positivos para a regra de 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 reduzidos, a regra de Contraste de Cor pode relatar falsos positivos para fundos em gradiente. Nesses casos, pode não ser possível determinar a cor do primeiro plano e, em vez disso, comparar as cores de fundo entre si, resultando em 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 manualmente o Contraste de Cor para essas visualizações.

Propriedade inexata isVisible do XCTest

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

Bug de acessibilidade do iOS 26 com controles de incremento

O iOS 26 contém um bug de acessibilidade onde os botões padrão dos controles de incremento não anunciam "atenuado" 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 à Apple, mas até que isso seja resolvido, as seguintes regras podem relatar resultados em botões de incremento 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 incremento têm os identificadores "Decrement" e "Increment" 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 & Aplicativos 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 conseguirá testá-la usando um simulador do iPhone 15 Pro. Um relatório de bug foi enviado à Apple.

Regras contra Controles Aninhados

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

Regra de Nome da ImageView Precisa de Revisão de Resultados para Aplicativos 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 focalização da Apple podem ser imprecisas quando um `accessibilityIdentifier` é definido na imagem. Devido a esse comportamento inesperado, os resultados para os problemas de Nome da ImageView em aplicativos 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 v2.11.0 Nome da ImageView & 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
Texto dentro de elementos que se comportam como banner pode ser sinalizado com uma mensagem de "Necessita de Revisão". 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 tiver controles focáveis aninhados, o ActiveControlName pode relatar um falso positivo no UIImageView. Remover o `accessibilityIdentifier` resolve o problema. Um relatório de bug foi enviado à Apple. (#1633)

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

Possíveis preocupações de acessibilidade para Texto Focável

Ao usar texto decorativo em visualizações como "Ícones de Contato", é possível introduzir um problema de acessibilidade. Se você estiver usando uma visualização de texto para exibir letras em vez de gerar imagens com as letras desejadas como vetores, e então declarar essa visualização de texto como não importante para acessibilidade, não poderemos determinar de forma confiável se você introduziu uma violação de acessibilidade.

Se você editar texto focável para ignorar duas ou menos letras, pode inadvertidamente ignorar muitos botões de uma palavra em vários idiomas (por exemplo, "OK", "No", "Sí"). Para evitar esses problemas, você deve capturar as letras desejadas da palavra que deseja representar no ícone e gerar as letras como parte da imagem em vez de como visualizações de texto separadas. O `TextoFocável` então não será executado nessas visualizações.

Título da Tela falso positivo em aplicativos Flutter

O Flutter não mapeia AppBar.title para a propriedade nativa de título da tela - Activity.setTitle, fazendo com que a regra do Título da Tela falhe em todas as telas Flutter, independentemente de um título descritivo estar presente.

Esta é uma limitação conhecida da plataforma Flutter acompanhada em flutter/flutter#185894.

Detecção de texto anunciado falso positivo

Em alguns casos, a tecnologia assistiva depende de AccessibilityEvent descrições do sistema Android para anunciar informações ao usuário quando nenhum outro anúncio está disponível. Since AccessibilityEvents são acionados por ações do usuário, não conseguimos acessar a descrição correta se esta informação não for fornecida.

Para evitar esse problema, certifique-se de que todas as visualizações relevantes estejam marcadas como importantes para acessibilidade. Isso permitirá ao Talkback acessar as informações da visualização, que nossa ferramenta poderá então detectar.

A regra de contraste de cores não é executada quando as cores do texto e de fundo são iguais

Nossa regra de contraste de cores depende de aprendizado de máquina para detectar texto, o que garante que o texto escaneado seja visível para os usuários da sua aplicação. 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, portanto, a regra de contraste de cores 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 em 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 este problema, 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ê deve considerar evitar o uso do hintText recurso, pois ele não é oficialmente suportado.

Visualizações ocultas do 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 puder acessar 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 do 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 este problema, você deve importar a biblioteca ML Kit em seu projeto manualmente. No build.gradle arquivo da sua aplicação, adicione o seguinte sob as dependências:

debugImplementation 'com.google.mlkit:text-recognition:16.0.1'

Find a full working example of the ML Kit library being imported in the Android Mobile SDK Getting Started section, under Implementação

Espaçamento de Alvo de Toque e Jetpack Compose

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

Erro ao salvar resultados localmente na API 30

Na API 30 do Android, uma das localizações que tentamos salvar 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 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 // } }
Por favor, note que este 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 apps 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 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-sistema. Para utilizar o aplicativo axe Analyzer, por favor, certifique-se de que esta configuração não esteja ativada. Se você optou por utilizar este recurso para seus aprimoramentos de segurança, recomendamos deixá-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 todas as chamadas para o método setHideOverlayWindows(true) para setHideOverlayWindows(false) nas janelas das atividades afetadas.

Captura de Tela Ausente (Caixa Preta) no Painel de Controle

Para desbloquear toda a funcionalidade 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 utilize dados simulados para evitar preocupações de segurança. Confira nosso guia para ativar capturas de tela em aplicativos Android.

Falha ao minifiedEnabled estar configurado como verdadeiro

Se estiver minimizando sua construçã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 construções de depuração com axe DevTools implementado. (#729)

Compilações com r8 ativado geram um erro

Uma construção com r8 ativado 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.** { *; }

Mensagens de erro ao usar APIs do Compose

As APIs do Compose estão obsoletas, por favor, use as APIs agnósticas de layout para continuar recebendo atualizações. Se você continuar usando as APIs do Compose e encontrar um erro como `Esperado exatamente '1' nó, mas encontrado '2' nós que satisfazem: (isRoot)` ou `Nenhuma Visualização inicializada, você chamou AxeDevToolsCompose.setComposeTestRule()?`, por favor, consulte API Compose setTestTag.

MAUI: Regra de Nome do Texto de Edição

Devido a limitações da arquitetura do aplicativo MAUI no ecossistema Android, a regra de Nome do Texto de Edição será exibida como Necessitando Revisão no painel de controle quando uma falha for suspeitada para a versão SDK 5.5.0 e superior. 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, verificá-los manualmente para garantir que eles se comportem como desejado com tecnologia assistiva.

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 capturas de tela sejam tiradas. Frequentemente, isso é por razões de segurança em sua aplicação de produção. Considere remover este requisito para sua construção de teste para permitir funcionalidade total no Painel de Controle do axe DevTools Mobile.

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

Alguns nomes de escaneamento do Android que são padrão como 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á 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 do escaneamento no painel ou nas estruturas. (#1643)