Note di rilascio di Axe DevTools Mobile del 28 ottobre 2024
28 ottobre 2024
Versioni dei componenti
- iOS SDK (axeDevToolsXCUI v2.12.6)
- iOS Analyzer (axe-devtools-mobile-analyzer v1.4.4)
- iOS Appium Driver (axe-appium-xcuitest-driver v1.0.1)
Come aggiornare: SDK iOS, Analyzer iOS, Driver Appium iOS
Correzioni
- Il comando
appium driver axexcuitest open-wdaora funziona correttamente per aiutare con setup su dispositivo reale per il driver Appium XCUITest - Risolto un problema che causava il malfunzionamento della funzione Supports Dynamic Type su iOS 18
- Miglioramenti a tutte le regole per ridurre il numero di risultati inviati a Needs Review
- Proprietà di Contrast Ratio semplificate per migliorare la precisione
- Rilevamento migliorato degli elementi fuori schermo per SwiftUI
Problemi noti
Se riscontri uno dei seguenti problemi, contattaci a helpdesk@deque.com o support.deque.com. Saremo in grado di avvisarti una volta risolto o di un workaround identificato se non è elencato.
- I test automatizzati di Axe DevTools Mobile vengono eseguiti su applicazioni native iOS, Android e React Native. Contatta il tuo rappresentante Deque per soluzioni di test di accessibilità nel tuo stack tecnico.
- Sebbene potresti ottenere alcuni risultati da web view o PDF renderizzati, raccomandiamo vivamente di usare Axe DevTools per il Web o Axe Monitor per il test di accessibilità più completo per il web.
iOS
Errore in Analyzer Project e Testing tramite Bundle ID in 2.8.1
La funzionalità di test di un'applicazione con identificatore di bundle è stata interrotta nella versione 2.8.1, risultando in un errore intitolato "No target application path specified via test configuration: ...". Aggiorna alla versione 2.8.2 o alla versione più recente per risolvere l'errore. Aggiorna all'ultima versione nel progetto iOS Analyzer.
Falso positivo: LabelInName e LabelAtFront in SwiftUI e app Cross Platform
Alcuni schermi possono segnalare falsi positivi con LabelInName e LabelAtFront a causa di una proprietà associatedText trovata incorrettamente (#1622)
La regola Supports Dynamic Type non funziona con il simulatore iOS 15 Pro
C'è un problema che riguarda il simulatore iPhone 15 Pro che impedisce l'esecuzione della regola Supports Dynamic Type. Se hai optato per la regola Supports Dynamic Type, non sarai in grado di testarla utilizzando un simulatore iPhone 15 Pro. Un bug è stato segnalato ad Apple.
Regole contro controlli nidificati
Mentre cercavamo un miglioramento per le nostre regole, abbiamo scoperto che in XCTest, i controlli nidificati non vengono restituiti nell'albero di accessibilità. Un bug è stato segnalato ad Apple. (#1110)
La regola del Nome dell'ImageView richiede revisione per le app UIKit
Nelle app UIKit, un'immagine senza `accessibilityLabel` non è focalizzabile con la tecnologia assistiva di default.
Le proprietà che utilizziamo per verificare la focalizzabilità da Apple possono essere inaccurate quando un `accessibilityIdentifier` è impostato sull'immagine. A causa di questo comportamento inatteso, i risultati per i problemi di ImageView Name nelle app UIKit verranno segnalati come Bisogno di Revisione. Un rapporto di bug è stato fatto ad Apple. (#1633)
Falso positivo: In Scroll View, Label In Name, Label at Front, e Nome View Immagine v2.11.0 & NomeControlloAttivo
Stiamo lavorando attivamente su correzioni per i seguenti falsi positivi e aggiorneremo questo elenco man mano che le correzioni verranno rilasciate.
In Scroll View
Possono essere segnalati problemi per il testo all'interno di elementi che si comportano come banner. Per rendere questi elementi disponibili a coloro che richiedono testo più grande, utilizza UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Se un UIImageView ha un `accessibilityIdentifier` impostato ma non è focalizzabile da VoiceOver, e ha controlli focalizzabili annidati al suo interno, ActiveControlName può segnalare un falso positivo su UIImageView. Rimuovere il `accessibilityIdentifier` risolve il problema. Un bug è stato segnalato ad Apple. (#1633)
Label In Name and Label At Front
Queste due regole cercano l'etichetta visibile di un controllo tra gli elementi vicini per aiutare a determinare lo stato della regola. In alcune gerarchie di visualizzazione, il testo vicino errato può essere rilevato causando il fallimento di queste regole. (#1622)
Android
App Analyzer: Il pulsante di azione fluttuante scompare
Introdotta con API 31 (Android 12) è la possibilità di nascondere gli overlay non di sistema. Per utilizzare l'app Axe Analyzer, accertati che questa impostazione non sia attiva. Se hai deciso di attivare questa funzione per i suoi miglioramenti di sicurezza, ti consigliamo di tenerla disabilitata per le versioni di test interne dove puoi utilizzare in sicurezza i dati di test ed eliminare i problemi di sicurezza in tal modo. Note: this setting does not affect Google's accessibility scanner app as it's considered a system overlay.
Per utilizzare l'app Axe Accessibility Analyzer, aggiorna eventuali chiamate al metodo setHideOverlayWindows(true) a setHideOverlayWindows(false) sulle finestre delle attività interessate.
Screenshot mancante (rappresentato da una scatola nera) nella Dashboard
Per sbloccare tutta la funzionalità di Axe DevTools per Mobile, assicurati che gli screenshot siano abilitati. Consigliamo di abilitare gli screenshot in una versione di debug o di test della tua app che utilizza dati simulati per evitare problemi di sicurezza. Consulta la nostra guida per abilitando gli screenshot nelle app Android.
Crash quando `minifiedEnabled` è impostato su true
Se minimizzi la tua build, vedrai un crash 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)
oppure: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?
Le API di Compose sono deprecate, si prega di utilizzare le API indipendenti dal layout per continuare a ricevere aggiornamenti. Se continui a utilizzare le API di Compose e 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()?`, consulta l'API Compose setTestTag.
Messaggio di log:MlKitContext has not been initialized
Se incontri questo messaggio, alcuni risultati delle regole potrebbero non restituire come previsto quando quella regola utilizza l'intelligenza artificiale. Le regole interessate includono Contrasto di Colore, Testo Focalizzabile e Nome dell'Elemento Nidificato. (#841)
MAUI: Regola Nome Testo Modificabile
A causa delle limitazioni dell'architettura delle app MAUI nel rendere nell'ecosistema Android, la regola Nome Testo Modificabile verrà visualizzata come Necessita Revisione nel dashboard quando un errore è sospettato per le versioni SDK 5.5.0 e successive. Si prega di confermare manualmente il comportamento corretto per questo caso.
Android Nativo: Dialoghi / Modali Personalizzati
Quando implementi dialoghi o modali personalizzati che non estendono i controlli nativi, potresti ottenere risultati per le viste dietro il modale. In questo caso, ti consigliamo di non eseguire il nostro strumento contro questi modali o dialoghi personalizzati, ma di verificarli manualmente per assicurarti che si comportino con la tecnologia assistiva come desiderato.
Dashboard Web
Screenshot Mancante
Se lo screenshot manca dalla pagina dei dettagli della scansione, è possibile che la tua app stia impedendo la cattura degli 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 delle scansioni Android sono non formattati
Alcuni nomi delle scansioni Android che di default sono impostati sul titolo dello schermo appariranno come il nome completo della classe, incluso l'identificatore del pacchetto. In un futuro aggiornamento, 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)
