Note di rilascio di Axe DevTools Mobile del 4 febbraio 2026
4 febbraio 2026
Versioni dei componenti
iOS
- iOS SDK (axeDevToolsXCUI v3.2.0)
- iOS Analyzer Xcode Project (axe-devtools-mobile-analyzer v1.9.0)
- iOS Analyzer Desktop App (axe-devtools-mobile-desktop-app v1.2.0)
- iOS Appium 2 Driver (axe-appium2-xcuitest-driver v2.3.0)
- (Derivato da XCUITest v9.10.4)
- iOS Appium 3 Driver (axe-appium3-xcuitest-driver v1.2.0)
- (Derivato da XCUITest v10.18.2)
Come aggiornare: iOS SDK, iOS Analyzer (Passa all'app desktop Mobile Analyzer), Driver iOS Appium
Android
- Android SDK (axe-devtools-android v8.2.0)
- Android Analyzer (Axe Accessibility Analyzer v2.3.0)
- Android Appium 2 Driver (axe-appium2-uiautomator2-driver v2.3.0)
- (Derivato da UiAutomator2 v4.2.8)
- Android Appium 3 Driver (axe-appium3-uiautomator2-driver v1.2.0)
- (Derivato da UiAutomator2 v6.7.11)
Come aggiornare Android-SDK, Android Analyzer, Driver Android Appium
Correzioni
iOS
- Rilevamento migliorato degli elementi all'interno delle viste di scorrimento
- Miglioramenti alla precisione delle regole Colore Contrasto e Dimensione Target di Tocco
Android
- Miglioramenti alle prestazioni e alla precisione delle seguenti regole: Nome Checkbox, Nome Modifica Testo, Etichetta in Primo Piano, Spaziatura Target di Tocco
Driver Android Appium
- Prestazioni migliorate con una migliore compressione dei file e gestione dei dati
Problemi noti
Se si verificano i seguenti problemi, contattaci all'indirizzo helpdesk@deque.com o support.deque.com. Potremo così informarti di una soluzione identificata se non elencata, o quando il problema sarà risolto.
- Axe DevTools Mobile esegue test automatizzati su applicazioni native iOS, native Android e React Native. Si prega di contattare il proprio rappresentante Deque per soluzioni di test di accessibilità sul proprio stack tecnologico.
- Sebbene sia possibile ottenere alcuni risultati da web view o PDF renderizzati, raccomandiamo vivamente di testare utilizzando Axe DevTools per il Web o Axe Monitor per ottenere i test di accessibilità più completi per il web.
iOS
Falsi positivi per la regola Colore Contrasto con sfondi sfumati su piccoli schermi
Quando si eseguono controlli di accessibilità su schermi di piccole dimensioni o con dimensioni dei caratteri più piccoli, la regola Colore Contrasto può riportare falsi positivi per gli sfondi sfumati. In questi casi, potrebbe non essere in grado di determinare il colore in primo piano e confrontare invece i colori di sfondo tra loro, causando un fallimento.
Per aggirare questo problema, provare a eseguire controlli di accessibilità su dispositivi più grandi. In alternativa, è possibile scegliere di ignorare la regola nei propri test e controllare manualmente il Colore Contrasto per queste viste.
Inaccurata isVisible proprietà da XCTest
Le API di accessibilità di Apple possono segnalare in modo errato i contenuti web all'interno di WKWebView come "isVisible", anche quando la web view è coperta da sovrapposizioni native (come viste modali, avvisi o altri elementi dell'interfaccia utente nativa). Ciò si verifica perché il sistema di accessibilità verifica se il contenitore WKWebView è visibile, piuttosto che se il suo contenuto web è effettivamente non ostruito e percepibile per l'utente.
Bug di accessibilità di iOS 26 con gli incrementatori
iOS 26 contiene un bug di accessibilità in cui i pulsanti di default degli incrementatori non annunciano "disattivato" dalla Tecnologia Assistiva per indicare che non sono abilitati. Di conseguenza, le regole iOS vedono anche questi pulsanti come abilitati, anche se non lo sono. È stata inviata una segnalazione di errore ad Apple, ma finché questo non verrà risolto, le seguenti regole possono riportare risultati su pulsanti incrementatori disabilitati: AssociatedText, InaccessibleAction, e ColorContrast.
Fino a quando Apple non correggerà questo bug, la soluzione sarà [ignorare le regole](ios-ignore-rule). I pulsanti di default dello stepper hanno gli identificatori "Decrement" e "Increment", e possono essere ignorati tramite 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 e App Piattaforma Incrociata
Alcuni schermi potrebbero segnalare falsi positivi con LabelInName e LabelAtFront a causa di una proprietà associatedText errata rilevata (#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 sei iscritto alla regola Supporta Tipo Dinamico, non potrai testarla utilizzando un simulatore iPhone 15 Pro. È stato inviato un bug a Apple.
Regole contro Controlli Annidati
Mentre esaminavamo un miglioramento delle nostre regole, abbiamo scoperto che in XCTest, i controlli annidati non vengono restituiti nell'albero di accessibilità. È stato inviato un bug a Apple. (#1110)
La Regola del Nome di ImageView ha bisogno 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 utilizziamo per controllare la focalizzabilità da Apple potrebbero non essere accurate quando un accessibilityIdentifier è impostato sull'immagine. A causa di questo comportamento inaspettato, i risultati per i problemi di Nome di ImageView nelle app UIKit verranno riportati come Necessita Revisione. È stato inviato un bug a Apple. (#1633)
Falso Positivo: In Visualizzazione di Scorrimento, Label In Nome, Label Davanti e Nome Vista Immagine & NomeControlloAttivo v2.11.0
Stiamo lavorando attivamente su correzioni per i seguenti falsi positivi e aggiorneremo questo elenco man mano che verranno rilasciate correzioni.
In Scroll View
Potrebbero essere segnalati problemi per il testo all'interno di elementi che si comportano come banner. Per rendere questi elementi disponibili a coloro che necessitano di 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 tramite VoiceOver, ed ha controlli focalizzabili annidati al suo interno, NomeControlloAttivo potrebbe segnalare un falso positivo sul UIImageView. Rimuovendo il accessibilityIdentifier risolve il problema. È stato inviato un bug a Apple. (#1633)
Label In Name and Label At Front
Queste due regole cercano l'etichetta visibile di un controllo tra elementi vicini per aiutare a determinare lo stato della regola. In alcune gerarchie di vista, il testo vicino errato potrebbe essere rilevato causando il fallimento di queste regole. (#1622)
Android
Falso positivo nel rilevamento del testo annunciato
In alcuni casi, la tecnologia assistiva si basa su AccessibilityEvent descrizioni dal sistema Android per annunciare informazioni all'utente quando non sono disponibili altri annunci. Poiché AccessibilityEvents are triggered by user actions, we are unable to access the correct description if this information is not provided.
Per evitare questo problema, assicurati che tutte le viste rilevanti siano contrassegnate come importanti per l'accessibilità. Questo permetterà a Talkback di accedere alle informazioni dalla vista, che il nostro strumento potrà quindi rilevare.
La regola del Contrasto dei Colori non viene eseguita quando i colori del testo e dello sfondo sono uguali
La nostra regola del Contrasto dei Colori si basa sull'Apprendimento Automatico per rilevare il testo, garantendo che il testo in fase di scansione sia visibile agli utenti della tua applicazione. Nei casi in cui il testo contenuto in una vista ha lo stesso colore dello sfondo, il nostro algoritmo di Apprendimento Automatico non è in grado di rilevare se è presente del testo, quindi la regola del Contrasto dei Colori non viene eseguita su questa vista.
EditTextName su Android 7 (SDK 24-25)
Le app scritte in XML che utilizzano la funzione di testo suggerito potrebbero vedere falsi positivi con la regola EditTextName . Il testo suggerito è stato introdotto solo con Android 8 (SDK 26). Usare questo elemento nella tua app XML assegnerà il testo suggerito al valore del campo di input del testo. Le versioni più recenti di Android sono meglio equipaggiate per rendere accessibile questa esperienza.
Per ovviare a questo problema, la nostra prima raccomandazione è di eseguire i test su versioni più recenti di Android. Se è importante che l'app sia accessibile su versioni precedenti di Android, puoi considerare di evitare l'uso della funzione hintText , poiché non è ufficialmente supportata.
Visualizzazione dei risultati per viste Android nascoste
Potresti vedere risultati per le viste che sono 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 problema complesso. Nel frattempo, se TalkBack non può raggiungere queste viste, puoi ignorare i problemi corrispondenti. Non richiedono una correzione per garantire l'accessibilità.
Errore durante l'esecuzione del Rilevamento Testo ML Kit
Il rilevamento del testo ML Kit è necessario in molte delle regole di Axe DevTools Mobile per garantire l'accuratezza dei risultati. La libreria ML Kit dovrebbe essere automaticamente importata quando si fa riferimento a Axe DevTools Mobile nei test automatizzati Espresso o UIAutomator. In alcuni casi tuttavia, 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 risolvere questo problema, dovresti importare manualmente la libreria ML Kit nel tuo progetto. Nel file della tua applicazione build.gradle , aggiungi il seguente sotto dependencies:
implementation 'com.google.mlkit:text-recognition:16.0.1'
Distanza di Tocco e Jetpack Compose
Attualmente, la regola sulla Distanza di Tocco non viene eseguita su nessun componente slider che è stato scritto in Jetpack Compose. Al momento non si può fare nulla. Tuttavia, è in arrivo una correzione!
Errore nel salvataggio dei risultati localmente su API 30
Su Android API 30, uno dei luoghi in cui tentiamo di salvare i risultati localmente presenta un errore di permessi. Il risultato verrà 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 API 30 in quanto causerà problemi quando si salvano localmente per altri livelli API.
Rilevamento dello scorrimento su App Ibride e App Interpiattaforma
In alcune app ibride e interpiattaforma, potremmo restituire risultati imprevisti quando gli elementi in una vista di scorrimento sono parzialmente fuori schermo. Per testare un elemento per l'accessibilità, assicurati che sia completamente visibile sullo schermo prima di eseguire la scansione.
App Analyzer: Il pulsante azione fluttuante scompare
Introdotta con API 31 (Android 12) è la capacità di nascondere 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 di sicurezza, ti consigliamo di lasciarla disattivata per le build di test interne dove puoi utilizzare in sicurezza dati di prova ed eliminare le preoccupazioni di sicurezza in questo 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 tutte le chiamate al metodo setHideOverlayWindows(true) a setHideOverlayWindows(false) sulle finestre di attività interessate.
Screenshot mancante (schermo nero) nel Dashboard
Per sbloccare la piena funzionalità di Axe DevTools per Mobile, assicurati che gli screenshot siano abilitati. Consigliamo di abilitare gli screenshot su una versione debug o di test della tua app che utilizza dati simulati per evitare preoccupazioni di sicurezza. Dai un'occhiata alla 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 accedere alla libreria Axe DevTools. Disattiva 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 di Compose sono deprecate, ti invitiamo a utilizzare le API agnostiche al layout per continuare a ricevere aggiornamenti. Se continui a utilizzare le API di Compose e incontri un errore come "Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)" o "No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?", ti invitiamo a consultare l'API Compose setTestTag.
Messaggio di log:MlKitContext has not been initialized
Se incontri questo messaggio, alcuni risultati delle regole potrebbero non essere restituiti come previsto quando la regola utilizza l'intelligenza artificiale. Le regole interessate includono Contrasto Colori, Testo Attivabile e Nome Elemento Annidato. (#841)
MAUI: Regola Nome Testo Modificabile
A causa delle limitazioni dell'architettura dell'app MAUI nel rendering nell'ecosistema Android, la regola Nome Testo Modificabile apparirà come Da Revisare nel dashboard quando si sospetta un errore 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 stai implementando 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 su questi modali o dialoghi personalizzati e di controllarli manualmente per garantire che si comportino con la tecnologia assistiva come desiderato.
Dashboard Web
Screenshot Mancante
Se lo screenshot manca dalla pagina dei dettagli della scansione, forse la tua app sta impedendo che vengano acquisiti screenshot. Spesso questo 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 Axe DevTools.
Alcuni nomi di scansioni Android non sono formattati
Alcuni nomi di scansioni Android che sono predefiniti come titolo dello schermo appariranno come nome completo della classe includendo 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)
