Notas de Lançamento do axe DevTools Mobile - 17 de abril de 2024
17 de abril de 2024
Versões dos Componentes
- iOS SDK e Analyzer (axeDevToolsXCUI v2.10.0)
- Android SDK (axe-devtools-android v5.4.0)
- Android Analyzer (axe Accessibility Analyzer v1.7.0)
Como atualizar: iOS SDK, iOS Analyzer, Android SDK, Android Analyzer
O Que Há de Novo?
Rastreamento de Uso
Tornamos mais fácil habilitar o rastreamento do uso do axe DevTools Mobile para sua equipe. No Portal de Contas do axe, nas configurações globais, defina "Serviço de Uso" como "Habilitar" e insira sua URL e ID da Organização. Você não precisa mais adicionar nada ao código. (Nota: o rastreamento de uso já configurado por código para seus testes automatizados continuará funcionando.) Entre em contato com helpdesk@deque.com para obter seu ID da Organização. Como habilitar o Serviço de Uso | Sobre o Serviço de Uso
Exportar Scans no Formato Universal do axe
Agora você pode exportar scans do Dashboard do axe DevTools Mobile no formato JSON universal do axe—um formato padrão usado por todos os produtos axe. Use esse formato quando quiser importar seus resultados de acessibilidade móvel para outro produto Deque, como o axe Auditor, ou quando quiser agregar programaticamente resultados de acessibilidade de vários produtos axe usando uma saída consistente de cada produto. Como exportar scans do Dashboard | Formato móvel versus formato universal
Android
- Promovemos as regras de Visualização Acessível Inativa e Texto Focável para fora do status experimental. Após rigorosa avaliação, estamos confiantes em seus resultados. Se você desativou as regras experimentais nas configurações do Dashboard, começará a ver resultados dessas regras. Caso contrário, você continuará obtendo resultados dessas regras, mas elas não aparecerão mais na seção "Resultados Experimentais". Sobre as regras experimentais | Configurando o Dashboard
iOS
- Estamos desativando a regra de Controles Colidentes . Os controles colidentes agora são cobertos pela regra alinhada ao WCAG, Espaçamento de Alvo de Toque . Os resultados para Controles Colidentes agora aparecerão em "Ignorados". Removeremos os resultados completamente em um próximo lançamento.
Correções de Bugs
Android
- Atualizamos o aplicativo Mobile Analyzer para evitar falhas durante a configuração no Android versão 11 e anteriores.
- Corrigimos um problema no aplicativo Mobile Analyzer onde uma URL de servidor de backend incorreta fazia com que a configuração do aplicativo falhasse. Isso se aplica apenas a clientes de nuvem privada ou interna.
- Corrigimos um bug na regra de Etiqueta no Nome que estava causando uma falha incorreta quando o texto visível fazia parte do nome acessível.
- Para evitar falsos positivos, qualquer componente cujo conteúdo não esteja totalmente na tela não será mais analisado pela Tamanho do Alvo de Toque, Espaçamento do Alvo de Toque, ou Contraste de Cor regras.
- Para evitar falsos positivos nas regras Etiqueta no Nome, Nome do Elemento Aninhado, e Texto Focável agora marcaremos certos cenários como "Necessita Revisão" em vez de "Falha" quando não pudermos ter 100% de certeza de uma falha. Você deve revisar essas questões para garantir que o texto acessível esteja disponível para tecnologias assistivas como TalkBack ou Voice Access.
iOS
- Para evitar falsos positivos, a regra Visualizações Colidindo retornará "Necessita Revisão" em todos os casos em vez de "Falha".
- O Serviço de Uso estava anteriormente rastreando apenas eventos de "login", e agora rastreará eventos de "login" e "scanner".
Painel de Controle
- Corrigido um bug onde escaneamentos não podiam ser exportados quando o nome do aplicativo continha um caractere Unicode.
Problemas Conhecidos
Se você estiver enfrentando algum dos problemas abaixo, por favor entre em contato conosco pelo helpdesk@deque.com ou support.deque.com. Assim, poderemos notificá-lo uma vez que seja resolvido ou de uma solução alternativa identificada, caso nenhuma seja listada.
- O teste automatizado axe DevTools Mobile é executado em aplicativos nativos iOS, Android nativo e React Native. Por favor, entre em contato com o seu representante Deque para soluções de teste de acessibilidade na sua pilha de tecnologia.
- Embora você possa obter alguns resultados de visualizações web ou PDFs renderizados, recomendamos vivamente o uso do axe DevTools para Web ou axe Monitor para os testes de acessibilidade mais completos para a web.
axe DevTools Mobile para iOS
Erro no Projeto Analyzer & Testes por ID de Pacote na versão 2.8.1
As funcionalidades de teste de um aplicativo por identificador de pacote foram quebradas na versão 2.8.1, resultando em um erro intitulado "Nenhum caminho de aplicativo alvo especificado via configuração de teste: ...". Atualize para 2.8.2 ou a versão mais recente para resolver o erro. Atualize para a versão mais recente dentro do projeto iOS Analyzer.
Visualizações fora da tela podem mostrar resultados para apps SwiftUI testados no iOS 17
Com a versão 2.8.0 (Ver Notas de Lançamento), os resultados não são mais reportados em visualizações que não são visíveis, incluindo fora da tela ou ocultadas por outra visualização. Descobrimos que em aplicativos SwiftUI testados no iOS 17, alguns resultados ainda aparecem. (#1383)
Regra Suporte a Tipo Dinâmico não funciona com o simulador iOS 15 Pro
Há um problema que afeta o simulador iPhone 15 Pro que impede a execução da regra Suporte a Tipo Dinâmico. Se você estiver optado pela regra 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
Ao procurar uma melhoria para nossas regras, descobrimos que no XCTest, os controles aninhados não são retornados na árvore de acessibilidade. Um bug foi registrado com a Apple. (#1110)
Falso Positivo: Em Visualização de Rolagem, NomeControleAtivo
Estamos ativamente trabalhando em correções para os seguintes falsos positivos e atualizaremos esta lista assim que as correções forem liberadas.
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)
ActiveControlName
Se um UIImageView tiver um `accessibilityIdentifier` definido, mas não for focável pelo VoiceOver, e tiver controles focáveis aninhados, NomeControleAtivo pode relatar um falso positivo no UIImageView. Remover o `accessibilityIdentifier` resolve o problema. Um bug foi registrado com a Apple. (#1226)
Falso Negativo: Nome da Visualização de Imagem, Texto Focável no iOS 13 até iOS 14.8.1
Estamos ativamente trabalhando em correções para os seguintes falsos negativos e atualizaremos esta lista assim que as correções forem liberadas.
Image View Name
Se um UIImageView tiver um `accessibilityIdentifier` definido, mas não for focável pelo VoiceOver, NomeViewImagem pode relatar um falso negativo no UIImageView. Remover o `accessibilityIdentifier` resolve o problema. Um bug foi registrado com a Apple. (#1226)
Focusable Text
Elementos marcados como não-acessíveis podem relatar resultados inadequados devido a um bug no framework da Apple.
axe DevTools Mobile para Android
Falha ao usar Proguard
Se a sua versão de depuração ou teste está utilizando Proguard, siga os passos para ignorar Deque nas suas configurações do Proguard.
Falha quando `minifiedEnabled` está definido como true
Se você estiver minimizando sua compilação, 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 axe DevTools implementado. (#729)
Compilações com r8 ativado lançam um erro
Uma compilaçã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.** { *; }
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()?
Se você encontrar um erro do tipo `Esperado exatamente '1' nó, mas encontrados '2' nós que satisfazem: (isRoot)` ou `Nenhuma View inicializada, você chamou AxeDevToolsCompose.setComposeTestRule()?`, por favor, consulte API Compose setTestTag.
axe DevTools Mobile Dashboard
Captura de Tela Ausente
Se a captura de tela está ausente na página de detalhes da análise, seu aplicativo pode estar impedindo a captura de telas. Frequentemente, isso ocorre por razões de segurança na sua aplicação de produção. Considere remover esse requisito na sua versão de teste para permitir a funcionalidade completa no axe DevTools Mobile Dashboard.
Alguns nomes de análises Android estão sem formatação
Alguns nomes de análises 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 versão futura, isso será resolvido para que o título da tela seja formatado em um nome mais legível. Como solução temporária, você pode definir o nome da análise a partir do painel de controle ou frameworks. (#1643)
axe DevTools Mobile para Appium
Falso Positivo: Nome da Visualização Ativa
Devido a limitações nas informações disponíveis via a plataforma Appium, identificamos um falso positivo para Nome da Visualização Ativa ao usar a labeledBy propriedade para fornecer um rótulo para um elemento de botão. Estamos explorando soluções e esperamos uma correção em uma versão futura.
React Native & .NET MAUI: Rótulo No Nome & Rótulo Na Frente
Devido a limitações nas informações disponíveis via a plataforma Appium, identificamos que as regras Rótulo No Nome & Rótulo Na Frente não podem ser executadas para aplicativos construídos com React Native. Estamos explorando soluções e esperamos uma correção em uma versão futura.
React Native: Inspecionar Hierarquia de Visualização Mostrando Tela Anterior
Às vezes, a propriedade da fonte da página Appium precisa de tempo extra para ser atualizada entre as análises. Se isso acontecer, você verá a hierarquia de visualização de uma tela anterior ao usar o recurso de inspeção no painel de controle. Para corrigir, adicione um pequeno intervalo antes de chamar a API de fonte da página para iniciar a análise de acessibilidade. Exemplo:
await driver.pause(1000);
const result = await driver.getPageSource();
