Note di rilascio di Axe DevTools Mobile del 10 dicembre 2025
10 dicembre 2025
Versioni dei componenti
iOS
- iOS SDK (axeDevToolsXCUI v3.1.0)
- Progetto iOS Analyzer Xcode (axe-devtools-mobile-analyzer v1.8.0)
- App desktop iOS Analyzer (axe-devtools-mobile-desktop-app v1.0.1)
- Driver iOS Appium 2 (axe-appium2-xcuitest-driver v2.2.0)
- (Derivato da XCUITest v9.10.4)
- Driver iOS Appium 3 (axe-appium3-xcuitest-driver v1.1.0)
- (Derivato da XCUITest v10.9.0)
Come aggiornare: SDK iOS, iOS Analyzer (Passa all'app desktop Mobile Analyzer), Driver iOS Appium
Android
- Android SDK (axe-devtools-android v8.1.0)
- Analyzer Android (Axe Accessibility Analyzer v2.2.0)
- Driver Android Appium 2 (axe-appium2-uiautomator2-driver v2.2.0)
- (Derivato da UiAutomator2 v4.2.8)
- Driver Android Appium 3 (axe-appium3-uiautomator2-driver v1.1.0)
- (Derivato da UiAutomator2 v6.6.2)
Come aggiornare SDK Android, Analyzer Android, Driver Android Appium
Correzioni
iOS
- Migliorata la gestione degli errori per la modalità di debug
- Migliorata l'accuratezza della regola sulla dimensione del bersaglio del touch
Android
- Migliorato il rilevamento degli elementi resi disponibili all'utente, per ridurre il rumore nei risultati
- Risolto un problema con la regola dell'orientamento dello schermo, in modo che gli screenshot siano visualizzati con la stessa orientazione con cui è stata avviata la scansione
- Ridotti i falsi positivi per i WebView
- L'app Analyzer Android ora gestisce appropriatamente l'invio di tag duplicati o vuoti
- Migliorata l'accuratezza delle regole sul contrasto colore e sugli elementi focalizzabili annidati
Deprecazioni
I metodi login negli SDK iOS e Android sono stati deprecati a favore dei metodi startSession, che stabiliscono una connessione con Axe Developer Hub - un luogo centrale per visualizzare e gestire i problemi di accessibilità, dove le scansioni sono automaticamente raggruppate per esecuzione del test. I metodi login saranno rimossi a novembre 2026.
Problemi noti
Se stai riscontrando uno dei seguenti problemi, contattaci al helpdesk@deque.com o support.deque.com. Potremo quindi avvisarti di una soluzione alternativa identificata, se non è indicata, o quando il problema sarà risolto.
- I test automatizzati di Axe DevTools Mobile funzionano su applicazioni native iOS, Android native e React Native. Contatta il tuo rappresentante Deque per soluzioni di test di accessibilità sul tuo stack tecnologico.
- Anche se potresti ottenere alcuni risultati dai web view o dai PDF renderizzati, ti consigliamo vivamente di testare utilizzando Axe DevTools for Web o Axe Monitor per un test di accessibilità web più completo.
iOS
Falsi positivi per la regola del contrasto colore con sfondi a gradiente su schermi piccoli
Quando si eseguono controlli di accessibilità su schermi di dimensioni ridotte o con dimensioni di carattere minori, la regola del contrasto colore può segnalare falsi positivi per gli sfondi a gradiente. In tali casi, potrebbe non essere in grado di determinare il colore del primo piano e invece confrontare tra loro i colori di sfondo, risultando in un errore.
Per aggirare questo problema, prova a eseguire controlli di accessibilità su dispositivi più grandi. In alternativa, puoi scegliere di ignorare la regola nei tuoi test e controllare manualmente il contrasto colore per queste visualizzazioni.
Inaccurato isVisible proprietà da XCTest
Le API di accessibilità di Apple potrebbero riportare erroneamente il contenuto web all'interno di WKWebView come „isVisible“, anche quando la visualizzazione web è coperta da sovrapposizioni native (come visualizzazioni modali, avvisi o altri elementi UI nativi). Questo accade perché il sistema di accessibilità controlla se il contenitore WKWebView stesso sia visibile, piuttosto che se il suo contenuto web sia effettivamente non ostruito e percepibile dall'utente.
Bug di accessibilità di iOS 26 con gli stepper
iOS 26 contiene un bug di accessibilità in cui i pulsanti stepper predefiniti non annunciano "oscurato" tramite le Tecnologie Assistive per indicare che non sono abilitati. Di conseguenza, anche le regole di iOS vedono questi pulsanti come abilitati, anche se non lo sono. È stato inviato un rapporto di bug ad Apple, ma finché non sarà risolto, le seguenti regole potrebbero riportare risultati sui pulsanti stepper disabilitati: AssociatedText, InaccessibleAction, e ColorContrast.
Fino a quando Apple non correggerà questo bug, la soluzione sarà di [ignorare le regole](ios-ignore-rule). I pulsanti stepper predefiniti hanno gli identificatori "Decrementa" e "Incrementa" e possono essere ignorati per identificatore, se necessario.
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.
Falso Positivo: LabelInName e LabelAtFront in SwiftUI & App multipiattaforma
Alcuni schermi possono 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 di iOS 15 Pro
C'è un problema che interessa il simulatore di iPhone 15 Pro che impedisce l'esecuzione della regola Supporta Tipo Dinamico. Se hai aderito alla regola Supporta Tipo Dinamico, non potrai testarla utilizzando un simulatore di iPhone 15 Pro. È stato inviato un bug ad Apple.
Regole contro i Controlli Annidati
Mentre analizzavamo un miglioramento per le nostre regole, abbiamo scoperto che in XCTest, i controlli annidati non vengono restituiti nell'albero di accessibilità. È stato inviato un bug ad Apple. (#1110)
La Regola del Nome di ImageView richiede la revisione dei risultati per le app UIKit
Nelle app UIKit, un'immagine senza un 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 del Nome di ImageView nelle app UIKit verranno segnalati come Da Rivedere. È stato inviato un rapporto di bug ad Apple. (#1633)
Falso Positivo: In Scroll View, Label In Name, Label at Front, e Nome Vista Immagine & NomeControlloAttivo v2.11.0
Stiamo lavorando attivamente a correzioni per i seguenti falsi positivi e aggiorneremo questa lista man mano che le correzioni verranno rilasciate.
In Scroll View
Potrebbero essere segnalati problemi per il testo all'interno di elementi con comportamento da banner. Per rendere questi elementi disponibili a chi richiede testo più grande, utilizzare 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, NomeControlloAttivo potrebbe segnalare un falso positivo su UIImageView. Rimuovendo il accessibilityIdentifier si risolve il problema. È stato inviato 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 aiutare a determinare lo stato della regola. In alcune gerarchie di viste, potrebbe essere rilevato il testo vicino errato causando il fallimento di queste regole. (#1622)
Android
La regola del Contrasto del Colore non funziona quando i colori del testo e dello sfondo sono gli stessi
La nostra regola del Contrasto del Colore si basa sull’Apprendimento Automatico 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 Apprendimento Automatico non è in grado di rilevare se è presente del testo, quindi la regola del Contrasto del Colore non viene eseguita su questa vista.
EditTextName su Android 7 (SDK 24-25)
Le app scritte con XML che utilizzano la funzionalità di testo suggerito potrebbero vedere falsi positivi con la regola EditTextName . La funzione di testo suggerito è stata introdotta solo con Android 8 (SDK 26). Utilizzare questo elemento nella tua app XML assegnerà il testo suggerito 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ù recenti di Android. Tuttavia, se è importante che l'app sia accessibile su versioni precedenti di Android, si potrebbe considerare di evitare l'uso della funzionalità hintText , poiché non è ufficialmente supportata.
Viste nascoste in Android che restituiscono risultati
Potresti vedere risultati per viste nascoste dietro altre viste sullo schermo. Queste viste nascoste non sono disponibili per la tecnologia assistiva, ma Axe DevTools Mobile le segnala comunque come problemi.
Stiamo lavorando a una soluzione per questo complesso problema. Nel frattempo, se TalkBack non riesce a raggiungere queste viste, puoi ignorare i problemi corrispondenti. Non richiedono una soluzione per garantire l'accessibilità.
Errore durante l'esecuzione del Rilevamento Testo ML Kit
Il rilevamento del testo tramite 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, tuttavia, l'importazione automatica non avviene e vedrai il seguente errore nei 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 file della tua applicazione build.gradle , aggiungi quanto segue sotto le dipendenze:
implementation 'com.google.mlkit:text-recognition:16.0.1'
Regola dello Spaziamento Obiettivi di Toccare e Jetpack Compose
Attualmente, la regola dello Spaziamento Obiettivi di Toccare non viene eseguita su nessun componente slider creato con Jetpack Compose. Al momento non è possibile intraprendere nessuna azione. Tuttavia, è presto in arrivo una soluzione!
Errore durante il salvataggio dei risultati a livello locale su API 30
Su Android API 30, una delle posizioni in cui tentiamo di salvare i risultati a livello locale ha un problema di permessi. 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
// }
}
Si prega di notare che questo codice dovrebbe essere commentato solo per l'API 30 poiché provocherà problem al salvataggio localmente per altri livelli API.
Rilevamento dello scorrimento su app ibride e multipiattaforma
In alcune app ibride e multipiattaforma, potremmo restituire risultati inaspettati quando gli elementi in una vista di scorrimento sono parzialmente fuori dallo schermo. Per testare un elemento per l'accessibilità, assicurati che sia completamente sullo schermo prima di eseguire la scansione.
App Analyzer: Il pulsante azione fluttuante scompare
Introdotta con 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 scelto di utilizzare questa funzione per i suoi miglioramenti della sicurezza, ti consigliamo di lasciarla disattivata per le build di test interno dove puoi utilizzare in sicurezza i dati di test ed eliminare così le preoccupazioni di 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 tutte le chiamate al metodo setHideOverlayWindows(true) a setHideOverlayWindows(false) sulle finestre di attività interessate.
Screenshot mancante (Blocco nero) nel Dashboard
Per sbloccare la piena 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 fittizi per evitare problemi di sicurezza. Consulta la nostra guida per abilitare 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 segnala che un adattatore non è stato trovato quando si tenta di effettuare il login 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 può tentare di minimizzare la libreria axeDevTools risultando in un errore simile a:
Caused by: java.lang.NullPointerException: throw with null exception
Per risolvere questo errore, aggiungi la seguente riga al tuo file ProGuard per mantenere le classi axeDevTools:
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)
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 Compose sono deprecate, per favore usa le API agnostiche al layout per continuare a ricevere aggiornamenti. Se continui a utilizzare le API Compose e riscontri 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 API Compose setTestTag.
Messaggio di log:MlKitContext has not been initialized
Se incontri questo messaggio, alcuni risultati delle regole potrebbero non restituire i dati come previsto quando quella regola utilizza l'intelligenza artificiale. Le regole coinvolte includono Contrasto di colore, Testo focalizzabile e Nome elemento nidificato. (#841)
MAUI: Regola Nome Testo Editabile
A causa delle limitazioni dell'architettura dell'app MAUI nel renderizzare nell'ecosistema Android, la regola Nome Testo Editabile apparirà come Necessita revisione nel dashboard quando è sospettato un fallimento per la versione SDK 5.5.0 e successive. Si prega di confermare manualmente il comportamento corretto per questo caso.
Android nativo: Dialog personalizzati/Modali
Quando implementi dialoghi o modali personalizzati che non estendono i controlli nativi, potresti ottenere risultati per le viste dietro il modale. In questo caso, raccomandiamo di non eseguire il nostro strumento contro questi modali o dialoghi personalizzati e invece verificarli manualmente per garantire che si comportino con le tecnologie assistive nel modo desiderato.
Dashboard Web
Screenshot mancante
Se lo screenshot è mancante dalla pagina dei dettagli della scansione, la tua app potrebbe impedirne la cattura. Spesso ciò avviene per motivi di sicurezza nella tua applicazione di produzione. Considera di rimuovere questo requisito per la tua build di test per permettere una piena funzionalità nel Dashboard Mobile di Axe DevTools.
Alcuni nomi di scansioni Android non sono formattati
Alcuni nomi di scansioni Android che sono impostati di default al titolo della schermata appariranno come nome completo della classe incluso l'identificatore del pacchetto. In un prossimo rilascio, questo sarà risolto affinché il titolo della schermata sia formattato in un nome più leggibile. Come soluzione temporanea, puoi impostare il nome della scansione dal dashboard o dai framework. (#1643)
