Notas de Lançamento do axe DevTools Mobile – 26 de junho de 2024
26 de junho de 2024
Versões dos Componentes
- Plugin Appium (v2.2.0)
- iOS SDK e Analyzer (axeDevToolsXCUI v2.12.0)
- Android SDK (axe-devtools-android v5.5.1)
- Android Analyzer (axe Accessibility Analyzer v1.8.1)
Como atualizar: iOS SDK, iOS Analyzer, Android SDK, Android Analyzer
Novidades?
Appium
- Novas Regras: Adicionamos suporte ao WCAG 2.2 com a regra de Espaçamento do Alvo de Toque para iOS e Android. Também adicionamos a regra Editar Valor do Texto para Android.
- Mais suporte a tipos de controle nas regras no iOS: Agora suportamos controles além de apenas botões para todas as regras.
- Serviço de Uso: Se sua equipe utiliza o serviço de uso para monitorar o uso da ferramenta axe DevTools Mobile, os dados do Appium agora serão incluídos.
iOS
- A versão mínima suportada do iOS foi aumentada para iOS 15.
- Após avisos anteriores de descontinuação, a regra de Controles Colidindo não será mais executada em favor da regra de Espaçamento do Alvo de Toque, que cobre controles colidindo assim como o tamanho do alvo.
Correções
Android
- Aprimoramentos e melhorias para aumentar a precisão e reduzir falsos positivos nas seguintes regras: Nome da Visão Ativa, Tamanho do Alvo de Toque, Rótulo no Nome e Rótulo na Frente.
- Melhor identificação e resultados das regras para vistas fora da tela ou parcialmente fora da tela.
iOS
- Melhoramos a regra Nome do Controle Ativo para garantir uma melhor experiência de acessibilidade para seus usuários finais ao usar o controle de stepper.
- Aprimoramentos e melhorias para aumentar a precisão e reduzir falsos positivos e negativos nas seguintes regras: Nome do Controle Ativo, Nome da Visualização de Imagem e Rótulo na Frente.
Appium
- A regra de Tamanho do Alvo de Toque no Android agora será aplicada a qualquer elemento clicável, independentemente de ser focável.
Problemas Conhecidos
Se você estiver enfrentando algum dos problemas listados abaixo, entre em contato conosco pelo helpdesk@deque.com ou support.deque.com. Assim, poderemos notificá-lo quando o problema for resolvido ou sobre uma solução alternativa caso nenhuma esteja listada.
- O teste automatizado do axe DevTools Mobile é executado em aplicações nativas iOS, Android nativo e React Native. Entre em contato com seu representante da Deque para soluções de teste de acessibilidade em sua plataforma tecnológica.
- Embora você possa obter alguns resultados de visualizações web ou PDFs renderizados, recomendamos fortemente testar usando axe DevTools para Web ou axe Monitor para o teste de acessibilidade mais abrangente para a web.
axe DevTools Mobile para iOS
Erro no Projeto Analyzer & Teste por ID do Bundle na versão 2.8.1
A funcionalidade de testar uma aplicação pelo identificador do bundle foi quebrada na versão 2.8.1, resultando em um erro intitulado "Nenhum caminho de aplicação 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 dentro do projeto do iOS Analyzer.
Vistas fora da tela podem mostrar resultados para aplicativos SwiftUI testados no iOS 17
Com a versão 2.8.0 (Ver Notas de Lançamento), os resultados não são mais relatados em vistas que não estão visíveis, incluindo aquelas fora da tela ou ocultadas por outra vista. Descobrimos que em aplicativos SwiftUI testados no iOS 17, alguns resultados ainda aparecem. (#1383)
A regra de Suporte ao Tipo Dinâmico não está funcionando com o simulador iOS 15 Pro
Existe 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ê está inscrito na regra de Suporte ao Tipo Dinâmico, não conseguirá testá-la usando um simulador iPhone 15 Pro. Um bug foi registrado com a Apple.
Regras contra Controles Aninhados
Ao analisar uma melhoria para nossas regras, encontramos que no XCTest, controles aninhados não são retornados na árvore de acessibilidade. Um bug foi registrado junto à Apple. (#1110)
Regra de Nome do ImageView Precisa de Revisão para Resultados em Aplicativos UIKit
Em aplicativos UIKit, uma imagem sem um `accessibilityLabel` não é focalizável com tecnologia assistiva por padrão.
As propriedades que usamos para verificar a possibilidade de foco da Apple podem estar imprecisas quando um `accessibilityIdentifier` é definido na imagem. Devido a este comportamento inesperado, os resultados para problemas de Nome do ImageView em aplicativos UIKit serão relatados como Precisando de Revisão. Um relatório de bug foi registrado junto à Apple. (#1633)
Falso Positivo: Em Scroll View, Label In Name, Label at Front e v2.11.0 Image View Name & ActiveControlName
Estamos trabalhando ativamente em correções para os seguintes falsos positivos e atualizaremos esta lista à medida que as correções forem liberadas.
In Scroll View
Pode reportar problemas para texto dentro de elementos que se comportam como banners. Para tornar esses elementos disponíveis para aqueles que requerem texto maior, use UILargeContentViewer. (#622)
v2.11.0 Image View Name & ActiveControlName
Se um UIImageView tiver um `accessibilityIdentifier` definido, mas não for focalizável pelo VoiceOver, e tiver controles focalizáveis aninhados, o ActiveControlName pode relatar um falso positivo no UIImageView. Remover o `accessibilityIdentifier` resolve o problema. Um bug foi registrado junto à 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)
axe DevTools Mobile para Android
Crash quando `minifiedEnabled` está definido como verdadeiro
Se você estiver minificando sua build, verá um crash 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 minificação para suas builds de debug 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 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 como `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` ou `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, por favor, consulte Compose setTestTag API.
axe DevTools Mobile Dashboard
Captura de Tela Ausente
Se a captura de tela estiver ausente na página de detalhes da análise, seu aplicativo pode estar impedindo que capturas de tela sejam tiradas. Muitas vezes, isso é por motivos de segurança em seu aplicativo de produção. Considere remover essa exigência para o build de teste, permitindo funcionalidade total no axe DevTools Mobile Dashboard.
Alguns nomes de escaneamento Android estão sem formatação
Alguns nomes de escaneamento 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 com um nome mais legível. Como solução alternativa, você pode definir o nome do escaneamento a partir do painel de controle ou frameworks. (#1643)
axe DevTools Mobile para Appium
Falsos Positivos: Nome da Visualização Ativa, Espaçamento do Alvo de Toque
Estamos trabalhando ativamente em correções para os seguintes falsos positivos e atualizaremos esta lista à medida que as correções forem liberadas.
Active View Name
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 propriedade labeledBy para fornecer um rótulo para um elemento de botão.
Touch Target Spacing on iOS platform for SwiftUI & React Native apps
Controles maiores podem falhar no Espaçamento do Alvo de Toque quando eles excederem o requisito mínimo de 24pt x 24pt. (#411)
Falso Negativo: Ação Inacessível em Android React Native
Você pode ver resultados contraditórios para esta nova regra ao analisar aplicativos React Native na plataforma Android. Algumas visualizações terão um elemento de botão aninhado, resultando em falha para o botão pai, mas um passe no botão filho. (#407)
React Native: Label In Name & Label At Front
Devido a limitações nas informações disponíveis via a plataforma Appium, identificamos que as regras Label In Name & Label At Front 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 & .NET MAUI: Inspecionar Hierarquia de Visualização Mostrando Tela Passada
Às vezes, a propriedade de origem da página do Appium precisa de mais tempo para ser atualizada entre as análises. Se isso acontecer, você verá a hierarquia de visualização da tela anterior ao usar o recurso de inspeção no painel de controle. Para corrigir, adicione um pequeno tempo de espera antes de chamar a API de origem da página para iniciar a análise de acessibilidade. Exemplo:
await driver.pause(1000);
const result = await driver.getPageSource();
Limitação: Nome da Imagem para Imagens Decorativas no Android
Devido a limitações nas informações disponíveis via a plataforma Appium, identificamos que a regra Nome da Imagem não é capaz de testar com precisão os critérios de sucesso de imagem decorativa no Android. Os resultados para imagens sem um nome acessível serão exibidos como 'Necessário Revisar' no painel para mais análises.
