Note di rilascio Axe DevTools Mobile 28 febbraio 2024
28 febbraio 2024
Versioni dei componenti
- axeDevToolsXCUI v2.9.1
- axe-devtools-android v5.2.0
Novità?
Soluzione Appium migliorata
- Una soluzione migliorata per l'uso di Appium è stata rilasciata il 14 febbraio. Vedi le note di rilascio.
Android
- Il metodo connect() per l'autenticazione al server Axe DevTools Mobile è deprecato in favore di loginWithUsername() o loginWithApiKey(). Riferimento API
- Una nuova API è ora disponibile e consente di utilizzare tag di test per individuare e scansionare un particolare composable nei layout di Jetpack Compose. Questo può essere utile quando uno schermo ha un mix di layout Jetpack Compose e XML. Esempio
Correzione bug
iOS
- Corretto un falso negativo con la regola Nome del controllo attivo dove un
searchBarTextFieldsenza un'etichetta accessibile superava erroneamente la regola. - Corretto un falso positivo con la regola di contrasto dei colori sui campi di testo quando è presente il cursore. Quando un campo di testo sembra essere modificato, lo mettiamo in stato “Da rivedere” anziché “Fallito”.
Android
- Corretto un problema in cui il Mobile Analyzer talvolta si arrestava durante la scansione delle app multipiattaforma.
- Corretti falsi positivi con le regole Testo focalizzabile e Nome degli elementi nidificati che venivano eseguiti per viste non visibili all'utente. La regola non verrà più eseguita a meno che la vista non sia visibile sullo schermo.
Problemi conosciuti
Se riscontri uno dei problemi riportati di seguito, contattaci a helpdesk@deque.com o support.deque.com. Saremo in grado di informarti una volta risolto o di un rimedio identificato se non è elencato.
- I test automatizzati di Axe DevTools Mobile si eseguono su applicazioni native iOS, Android native e React Native. Contatta il tuo rappresentante Deque per soluzioni di test di accessibilità sulla tua piattaforma tecnologica.
- Sebbene tu possa ottenere alcuni risultati da visualizzazioni web o PDF renderizzati, consigliamo vivamente di testare utilizzando Axe DevTools per Web o Axe Monitor per i test di accessibilità più completi per il web.
Axe DevTools Mobile per iOS
Errore nel progetto Analyzer & test per ID bundle in 2.8.1
La funzionalità con il test di un'applicazione tramite identificatore di bundle era interrotta nella versione 2.8.1, il che ha portato a un errore intitolato "No target application path specified via test configuration: ...". Aggiorna alla versione 2.8.2 o successiva per risolvere l'errore. Aggiorna all'ultima versione all'interno del progetto iOS Analyzer.
Le viste fuori schermo possono mostrare risultati per app SwiftUI testate in iOS 17
Con la versione 2.8.0 (Visualizza note di rilascio), i risultati non vengono più segnalati su viste che non sono visibili, incluse quelle fuori schermo o nascoste da un'altra vista. Abbiamo scoperto che in alcune applicazioni SwiftUI testate in iOS 17, alcuni risultati continuano a essere mostrati. (#1383)
La regola Supporta Tipo Dinamico non funziona con il simulatore iOS 15 Pro
Esiste un problema che riguarda il simulatore iPhone 15 Pro che impedisce l'esecuzione della regola Supporta Tipo Dinamico. Se hai optato per la regola Supporta Tipo Dinamico, non potrai testarla utilizzando un simulatore iPhone 15 Pro. È stato aperto un bug con Apple.
Regole contro i controlli nidificati
Mentre cercavamo un miglioramento per le nostre regole, abbiamo scoperto che in XCTest, i controlli nidificati non vengono restituiti nell'albero dell'accessibilità. È stato aperto un bug con Apple. (#1110)
Falso Positivo: In Scroll View, NomeControlloAttivo
Stiamo lavorando attivamente su correzioni per i seguenti falsi positivi e aggiorneremo questo elenco quando le correzioni verranno rilasciate.
In Scroll View
Potrebbe segnalare problemi per il testo all'interno di elementi che si comportano come banner. Per rendere questi elementi disponibili a chi richiede testo più grande, usa UILargeContentViewer. (#622)
ActiveControlName
Se un UIImageView ha impostato un `accessibilityIdentifier` ma non è focalizzabile da VoiceOver e ha controlli focalizzabili nidificati al suo interno, NomeControlloAttivo potrebbe segnalare un falso positivo sull'UIImageView. Rimuovere il `accessibilityIdentifier` risolve il problema. È stato aperto un bug con Apple. (#1226)
Falso Negativo: Nome Vista Immagine, Testo Focalizzabile in iOS 13 fino a iOS 14.8.1
Stiamo lavorando attivamente su correzioni per i seguenti falsi negativi e aggiorneremo questo elenco quando le correzioni verranno rilasciate.
Image View Name
Se un UIImageView ha impostato un `accessibilityIdentifier` ma non è focalizzabile da VoiceOver, NomeVistaImmagine potrebbe segnalare un falso negativo sull'UIImageView. Rimuovere il `accessibilityIdentifier` risolve il problema. È stato aperto un bug con Apple. (#1226)
Focusable Text
Gli elementi contrassegnati come non accessibili potrebbero segnalare risultati errati a causa di un bug nel framework di Apple.
Axe DevTools Mobile per Android
Crash quando si usa Proguard
Se la tua build di debug o test utilizza Proguard, segui i passaggi per ignora Deque nelle tue impostazioni di Proguard.
Arresto anomalo quando `minifiedEnabled` è impostato su true
Se minimizzi la tua build, vedrai un arresto anomalo con un log di errore che riporta che un adattatore non può essere trovato quando si tenta di accedere alla libreria Axe DevTools. Disabilita la minimizzazione per le tue build di debug con Axe DevTools implementato. (#729)
Le build con r8 abilitato generano un errore
Una build con r8 abilitato potrebbe tentare di minimizzare la libreria axeDevTools, risultando in un errore simile 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.** { *; }
Messaggio di errore simile a:
Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)
o: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?
Se incontri un errore del tipo `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` o `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, ti preghiamo di fare riferimento a Compose setTestTag API.
Dashboard Mobile di Axe DevTools
Screenshot mancante
Se lo screenshot manca dalla pagina dei dettagli della scansione, è possibile che la tua app stia impedendo di scattare screenshot. Spesso ciò avviene per motivi di sicurezza nella tua applicazione di produzione. Considera di rimuovere questo requisito per la tua build di test per consentire la piena funzionalità nel Dashboard Mobile di Axe DevTools.
Alcuni nomi di scansioni Android non sono formattati
Alcuni nomi di scansioni Android predefiniti con il titolo dello schermo appariranno come l'intero nome della classe, incluso l'identificatore del pacchetto. In un futuro rilascio, questo sarà risolto in modo che il titolo dello schermo sia formattato in un nome più leggibile. Come soluzione temporanea, puoi impostare il nome della scansione dal dashboard o dai framework. (#1643)
Axe DevTools Mobile per Appium
Falso Positivo: Nome Vista Attiva
A causa delle limitazioni delle informazioni disponibili tramite la piattaforma Appium, abbiamo identificato un falso positivo per Nome Vista Attiva quando si utilizza la labeledBy proprietà per fornire un'etichetta a un elemento pulsante. Stiamo esplorando soluzioni e ci aspettiamo una correzione in un prossimo rilascio.
React Native: Label In Name & Label At Front
A causa delle limitazioni delle informazioni disponibili tramite la piattaforma Appium, abbiamo identificato che le regole Label In Name & Label At Front non possono essere eseguite per le app costruite con React Native. Stiamo esplorando soluzioni e ci aspettiamo una correzione in un prossimo rilascio.
React Native: Ispeziona gerarchia delle viste che mostra lo schermo passato
A volte, la proprietà del sorgente pagina di Appium necessita di tempo extra per essere aggiornata tra le scansioni. Se ciò accade, vedrai la gerarchia delle viste di una schermata precedente quando utilizzi la funzione di ispezione sul dashboard. Per risolvere, aggiungi un piccolo timeout prima di chiamare l'API del sorgente pagina per avviare la scansione dell'accessibilità. Esempio:
await driver.pause(1000);
const result = await driver.getPageSource();
