Note di rilascio di Axe DevTools Mobile del 16 luglio 2025
16 luglio 2025
Versioni dei componenti
Android
- Android SDK (axe-devtools-android v7.0.1)
- Android Analyzer (Axe Accessibility Analyzer v2.0.1)
- Android Appium Driver (axe-appium-uiautomator2-driver v1.4.3)
- (Derivato da UiAutomator2 v4.2.4)
Come aggiornare: Android SDK, Android Analyzer, Android Appium Driver
Correzioni
- Risolto un problema con la regola dell'Orientamento dello Schermo, in modo che gli screenshot mostrino lo stesso orientamento in cui è stata avviata la scansione
- Risolto un problema con gli screenshot delle scansioni Appium, in modo che possano essere accessibili sulla Dashboard Mobile e nei report HTML generati.
Problemi noti
Se riscontri uno dei seguenti problemi, contattaci a helpdesk@deque.com o support.deque.com. Potremo quindi informarti una volta risolto o di una soluzione alternativa identificata se non è elencata.
- I test automatizzati di Axe DevTools Mobile si eseguono su applicazioni iOS native, 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 dai web view o dai PDF renderizzati, ti consigliamo vivamente di testare utilizzando Axe DevTools per il Web o Axe Monitor per i test di accessibilità più completi per il web.
iOS
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.
Impossibile eseguire scansioni su dispositivi fisici con iOS Analyzer 1.4.7
Una impostazione di configurazione nell'iOS Analyzer 1.4.7 impedisce l'esecuzione delle scansioni, restituendo il messaggio "Test Failed". Per eseguire scansioni su un dispositivo fisico, aggiorna all'ultimo progetto iOS Analyzer.
Errore nel Progetto Analyzer e test tramite ID bundle nella versione 2.8.1
La funzionalità con il test di un'applicazione tramite identificatore del bundle è stata compromessa nella versione 2.8.1, il che ha causato un errore intitolato "Nessun percorso dell'applicazione di destinazione specificato tramite configurazione del test: ...". Aggiorna alla versione 2.8.2 o alla versione più recente per risolvere l'errore. Aggiorna all'ultimo progetto iOS Analyzer.
Errore "Impossibile serializzare AxeResult" nel Progetto Analyzer v1.2.0 e SDK v2.12.3
La scansione di alcune applicazioni con questa versione del progetto Analyzer e dell'SDK causerebbe un errore "Impossibile serializzare AxeResult". Aggiorna alla versione più recente per risolvere l'errore. Aggiorna all'ultimo progetto iOS Analyzer.Aggiorna all'ultimo iOS SDK.
Falso positivo: LabelInName e LabelAtFront in SwiftUI e app cross-platform
Alcuni schermi potrebbero riportare falsi positivi con LabelInName e LabelAtFront a causa di una proprietà associatedText errata trovata (#1622)
La regola Supporta Tipo Dinamico non funziona con il simulatore iOS 15 Pro
C'è un problema che interessa il simulatore iPhone 15 Pro che impedisce l'esecuzione della regola Supporta Tipo Dinamico. Se hai optato per la regola Supporta Tipo Dinamico, non sarai in grado di testarla utilizzando un simulatore iPhone 15 Pro. È stato presentato un bug ad Apple.
Regole contro i controlli nidificati
Durante il miglioramento delle nostre regole, abbiamo scoperto che in XCTest, i controlli nidificati non vengono restituiti nell'albero di accessibilità. È stato presentato un bug ad Apple. (#1110)
La regola Name di ImageView necessita di una revisione dei risultati per le app UIKit
Nelle app UIKit, un'immagine senza un `accessibilityLabel` non è focalizzabile con la tecnologia assistiva per impostazione predefinita.
Le proprietà che usiamo per controllare la focalizzabilità da Apple possono essere imprecise quando un `accessibilityIdentifier` è impostato sull'immagine. A causa di questo comportamento inatteso, i risultati per i problemi Name di ImageView nelle app UIKit saranno riportati come Revisione Necessaria. È stato presentato un bug ad Apple. (#1633)
Falso positivo: nella Scroll View, Label In Name, Label at Front e Name di ImageView v2.11.0 & ActiveControlName
Stiamo lavorando attivamente su correzioni per i seguenti falsi positivi e aggiorneremo questo elenco man mano che le correzioni saranno 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 coloro che richiedono testo più grande, usa 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 nidificati al suo interno, ActiveControlName potrebbe riportare un falso positivo sul UIImageView. Rimuovere il `accessibilityIdentifier` risolve il problema. È stato presentato un bug 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 determinare lo stato della regola. In alcune gerarchie di vista, il testo errato vicino potrebbe essere rilevato causando il fallimento di queste regole. (#1622)
Android
La regola del Contrasto Colore non viene eseguita quando il testo e i colori di sfondo sono gli stessi
La nostra regola del Contrasto Colore dipende dal Machine Learning per rilevare il testo, il che garantisce che il testo scansionato sia visibile agli utenti della tua applicazione. Nei casi in cui il testo contenuto in una vista è dello stesso colore dello sfondo, il nostro algoritmo di Machine Learning non riesce a rilevare la presenza di testo, quindi la regola del Contrasto Colore non viene eseguita su questa vista.
EditTextName su Android 7 (SDK 24-25)
Le app scritte in XML che utilizzano la funzionalità di testo di suggerimento potrebbero visualizzare falsi positivi con la EditTextName regola. Il testo di suggerimento non è stato introdotto fino ad Android 8 (SDK 26). Utilizzare questo elemento nella tua app XML assegnerà il testo di suggerimento al valore del campo di input testo. Versioni più recenti di Android sono meglio attrezzate per rendere questa esperienza accessibile.
Per superare questo problema, la nostra prima raccomandazione è di eseguire i test su versioni più nuove di Android. Tuttavia, se è importante che l'app sia accessibile su versioni precedenti di Android, potresti considerare di evitare l'uso della hintText funzionalità, poiché non è ufficialmente supportata.
Viste nascoste Android che restituiscono risultati
Potresti vedere risultati per viste che sono nascoste dietro altre viste sullo schermo. Queste viste nascoste non sono accessibili dalla tecnologia assistiva, ma Axe DevTools Mobile le segnala comunque come problemi.
Stiamo lavorando a una soluzione per questo problema complesso. Nel frattempo, se TalkBack non può raggiungere queste viste, puoi ignorare i problemi corrispondenti. Non richiedono una soluzione per garantire l'accessibilità.
Errore durante l'esecuzione di ML Kit Text Detection
Il rilevamento del testo di ML Kit è richiesto in molte delle regole di Axe DevTools Mobile per garantire l'accuratezza dei risultati. La libreria ML Kit dovrebbe essere importata automaticamente quando si fa riferimento a Axe DevTools Mobile nei test automatizzati di Espresso o UIAutomator. In alcuni casi però, l'importazione automatica non avviene e vedrai il seguente errore nel logcat:
Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.
Per superare questo problema, dovresti importare manualmente la libreria ML Kit nel tuo progetto. Nel build.gradle file della tua applicazione, aggiungi quanto segue sotto dipendenze:
implementation 'com.google.mlkit:text-recognition:16.0.1'
Spaziatura dei target di tocco e Jetpack Compose
La regola della Spaziatura dei Target di Tocco attualmente non viene eseguita su nessun componente del cursore scritto in Jetpack Compose. Al momento non è possibile intraprendere alcuna azione. Tuttavia, una soluzione è in arrivo!
Errore durante il salvataggio dei risultati localmente su API 30
Su Android API 30, una delle posizioni in cui tentiamo di salvare i risultati localmente presenta un errore di permesso. Il risultato sarà comunque salvato come file JSON nonostante venga visualizzato questo errore. L'errore può essere soppresso commentando il codice nel seguente blocco:
def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') {
executable "${android.getAdbExecutable().toString()}"
args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases'
// finalizedBy {
// fetchAndroidFolderAxeReportsTask
// }
}
Please note that this code should only be commented out for API 30 as it will cause problems when saving locally for other API levels.
Rilevamento dello scorrimento su App Ibride e App Cross-Platform
In alcune app ibride e cross-platform, potremmo restituire risultati inattesi quando elementi in una vista di scorrimento sono parzialmente fuori schermo. Per testare un elemento per l'accessibilità, assicurati che sia completamente visibile prima di eseguire la scansione.
App Analyzer: il pulsante d'azione fluttuante scompare
Introdotta con l'API 31 (Android 12) è la capacità di nascondere le sovrapposizioni non di sistema. Per utilizzare l'app Axe Analyzer, assicurati che questa impostazione non sia attivata. Se hai deciso di utilizzare questa funzione per i suoi miglioramenti di sicurezza, ti consigliamo di lasciarla disattivata per le build di test interne dove puoi utilizzare dati di test in sicurezza ed eliminare in tal modo le preoccupazioni legate alla sicurezza. 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 qualsiasi chiamata al metodo setHideOverlayWindows(true) a setHideOverlayWindows(false) sulle finestre delle attività interessate.
Screenshot mancanti (Riquadro nero) nel Dashboard
Per sbloccare la piena funzionalità di Axe DevTools per Mobile, assicurati che gli screenshot siano abilitati. Raccomandiamo di abilitare gli screenshot su una versione di debug o di test della tua app che utilizza dati simulati per evitare preoccupazioni di sicurezza. Consulta la nostra guida per abilitare gli screenshot nelle app Android.
Crash quando `minifiedEnabled` è impostato a true
Se riduci al minimo il tuo build, vedrai un crash con un registro di errori che segnala che un adattatore non è stato trovato quando si tenta di accedere alla libreria Axe DevTools. Disabilitare il minify per le build di debug con Axe DevTools implementati. (#729)
Le build con r8 abilitato generano un errore
Una build con r8 abilitato potrebbe tentare di ridurre al minimo 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()?
Le API di Compose sono deprecate, utilizza invece le API agnostiche al layout per continuare a ricevere aggiornamenti. Se continui a utilizzare le API di Compose e incontri un errore simile a `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 sta utilizzando l'intelligenza artificiale. Le regole interessate includono Contrasto Colore, Testo Focalizzabile e Nome dell'Elemento Annidato. (#841)
MAUI: Regole sul Nome del Testo di Modifica
A causa delle limitazioni della struttura dell'app MAUI nel rendere nel sistema Android, la regola sul Nome del Testo di Modifica apparirà come Da Rivedere nel dashboard quando si sospetta un errore per la versione SDK 5.5.0 e successive. Si prega di confermare manualmente il corretto comportamento per questo caso.
Android Nativo: Dialoghi/Modali Personalizzati
Quando implementi dialoghi o modali personalizzati che non estendono i controlli nativi, potresti ottenere risultati per viste dietro il modale. In questo caso, ti consigliamo di non eseguire il nostro strumento contro questi modali o dialoghi personalizzati e invece di controllarli manualmente per garantire che si comportino con la tecnologia assistiva come desiderato.
Dashboard Web
Screenshot Mancante
Se lo screenshot è mancante dalla pagina dei dettagli della scansione, la tua app potrebbe impedire che vengano scattati screenshot. Spesso questo avviene per motivi di sicurezza nella tua applicazione di produzione. Considera di rimuovere questo requisito per il tuo build di test per consentire la piena funzionalità nel Dashboard di Axe DevTools Mobile.
Alcuni nomi di scansioni Android non sono formattati
Alcuni nomi di scansione Android che di default sono assegnati al titolo dello schermo appariranno come il nome completo della classe incluso l'identificatore del bundle. In un futuro aggiornamento, questo sarà risolto in modo che il titolo dello schermo venga formattato in un nome più leggibile. Come soluzione temporanea, puoi impostare il nome della scansione dalla dashboard o dai framework. (#1643)
