Axe DevTools Mobile Note di rilascio del 6 novembre 2025

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

6 novembre 2025

Not for use with personal data

Versioni dei componenti

iOS

  • iOS SDK (axeDevToolsXCUI v3.0.1)
  • Progetto Xcode per iOS Analyzer (axe-devtools-mobile-analyzer v1.7.0)
  • App desktop iOS Analyzer (axe-devtools-mobile-desktop-app v1.0.1)
  • Driver iOS Appium 2 (axe-appium-xcuitest-driver v2.1.0)
    • (Derivato da XCUITest v9.10.4)
  • Driver iOS Appium 3 (axe-appium3-xcuitest-driver v1.0.0)
    • (Derivato da XCUITest v10.4.3)

Come aggiornare: iOS SDK, iOS Analyzer (Passa all'app desktop Mobile Analyzer), Driver iOS Appium

Android

  • SDK Android (axe-devtools-android v8.0.2)
  • Analyzer Android (Axe Accessibility Analyzer v2.1.3)
  • Driver Android Appium 2 (axe-appium-uiautomator2-driver v2.1.0)
    • (Derivato da UiAutomator2 v4.2.8)
  • Driver Android Appium 3 (axe-appium3-uiautomator2-driver v1.0.0)
    • (Derivato da UiAutomator2 v5.0.1)

Come aggiornare SDK Android, Analyzer Android, Driver Android Appium

Miglioramenti

Aggiornamenti alle capacità di scansione mobile esistenti e organizzazione delle capacità di risultati

App desktop iOS Mobile Analyzer

Con la nostra app desktop per Mac facile da usare, puoi collegarti facilmente al tuo dispositivo per i test, senza bisogno di un Bundle ID o di una chiave API. Se hai utilizzato il progetto Xcode per iOS Analyzer, scopri Come passare all'app desktop Mobile Analyzer.

Integrazione Axe Developer Hub

Invia i risultati sull'accessibilità dei tuoi test automatizzati a Axe Developer Hub - un luogo centrale per visualizzare e gestire i problemi di accessibilità, dove le scansioni sono raggruppate automaticamente per esecuzione del test. Anche se puoi ancora trovare i risultati sia sulla Piattaforma Mobile che nel Developer Hub, la Piattaforma sarà eventualmente ritirata a favore del Developer Hub. Se stai ancora usando la Piattaforma per i risultati dei test automatizzati, scopri Come passare ad Axe Developer Hub.

Correzioni

iOS

  • Miglioramenti alla precisione delle seguenti regole: Dimensione del target tattile e Spaziatura del target tattile

Android

  • Aggiornamenti alla raccolta dati visiva nell'app Axe Accessibility Analyzer
  • Miglioramenti alla precisione delle seguenti regole: Etichetta nel nome, Nome elemento annidato e Nome dello switch

Axe DevTools Reporter CLI

Aggiornamenti

Driver Appium

Per mantenere la compatibilità inversa per Appium 2 e supportare anche Appium 3, ora rilasceremo due driver Appium separati per ciascuna piattaforma. I nomi dei pacchetti attuali torneranno a supportare Appium 2 e continueranno con le versioni 2.x.x. I nuovi pacchetti si chiameranno axe-appium3 e inizieranno con la versione 1.0.0.

iOS

Android

Problemi Conosciuti

Se stai riscontrando uno dei problemi elencati di seguito, ti preghiamo di contattarci su helpdesk@deque.com o support.deque.com. In questo modo potremo avvisarti una volta risolto o di una soluzione alternativa se non fosse già elencata.

important
  • I test automatizzati di Axe DevTools Mobile funzionano su applicazioni native iOS, Android e React Native. Contatta il tuo rappresentante Deque per soluzioni di test di accessibilità sul tuo stack tecnologico.
  • Anche se potresti ottenere alcuni risultati da web view o PDF resi, raccomandiamo vivamente di testare utilizzando Axe DevTools per Web o Axe Monitor per il più completo testing di accessibilità per il web.

iOS

Proprietà inaccurata isVisible da XCTest

Le API di accessibilità di Apple possono riportare erroneamente i contenuti web all'interno di WKWebView come "isVisible", anche quando la web view è coperta da overlay nativi (come visualizzazioni modali, avvisi o altri elementi UI nativi). Questo accade perché il sistema di accessibilità verifica se il contenitore di WKWebView è visibile, piuttosto che controllare se il suo contenuto web sia effettivamente non ostruito e percepibile dall'utente.

Bug di accessibilità iOS 26 con gli stepper

iOS 26 contiene un bug di accessibilità in cui i pulsanti stepper predefiniti non annunciano "offuscato" dalla tecnologia assistiva per indicare che non sono abilitati. Di conseguenza, anche le regole iOS considerano questi pulsanti come abilitati anche se non lo sono. Un rapporto di bug è stato inviato ad Apple, ma finché questo non viene risolto, le seguenti regole possono riportare risultati su pulsanti stepper disabilitati: AssociatedText, InaccessibleAction, e ColorContrast.

Fino a quando Apple non risolverà questo bug, la soluzione sarà di [ignorare le regole](ios-ignore-rule). I pulsanti stepper predefiniti hanno gli identificatori "Decrement" e "Increment" 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.

Impossibile eseguire scansioni su dispositivi fisici con iOS Analyzer 1.4.7

Una impostazione di configurazione in iOS Analyzer 1.4.7 impedisce l'esecuzione delle scansioni, restituendo il messaggio "Test non riuscito". Per eseguire le scansioni su un dispositivo fisico, aggiorna al progetto iOS Analyzer più recente.

Errore nel Progetto Analyzer e Test per Bundle ID nella versione 2.8.1

La funzionalità di testare un'applicazione tramite l'identificatore del bundle è stata interrotta nella versione 2.8.1, il che ha causato un errore intitolato "No target application path specified via test configuration: ...". Aggiorna alla versione 2.8.2 o a quella più recente per risolvere l'errore. Aggiorna all'ultima versione tra i progetti di 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 dell'analyzer e dell'SDK potrebbe produrre un "Could not Serialize AxeResult" errore. Aggiorna all'ultima versione per risolvere l'errore. Aggiorna al progetto iOS Analyzer più recente.Aggiorna all'ultima versione dell'SDK iOS.

Falso positivo: LabelInName e LabelAtFront in SwiftUI e App multipiattaforma

Alcune schermate possono riportare falsi positivi con LabelInName e LabelAtFront a causa di una proprietà associatedText non corretta rilevata (#1622)

La regola Supporta Tipo Dinamico non funziona con il simulatore iOS 15 Pro

C'è un problema che interessa il simulatore di iPhone 15 Pro che impedisce alla regola Supporta Tipo Dinamico di funzionare. Se hai sottoscritto la regola Supporta Tipo Dinamico, non potrai testarla utilizzando il simulatore di iPhone 15 Pro. È stato inviato un bug ad Apple.

Regole contro i controlli annidati

Durante l'esame di 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 NomeView Immagine richiede 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 inaspettato, i risultati per i problemi di NomeView Immagine nelle app UIKit saranno segnalati come Da Revisionare. È stato inviato un report di bug ad Apple. (#1633)

Falso Positivo: In Scroll View, Label In Nome, Label In Avanti, e v2.11.0 NomeView Immagine & NomeControlloAttivo

Stiamo lavorando attivamente su correggere i seguenti falsi positivi e aggiorneremo questa lista non appena le correzioni saranno rilasciate.

In Scroll View
Può 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, 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 contiene controlli focalizzabili annidati al suo interno, NomeControlloAttivo può riportare un falso positivo sull'UIImageView. Rimuovendo il accessibilityIdentifier 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 determinare lo stato della regola. In alcune gerarchie di visualizzazione, il testo vicino potrebbe essere rilevato in modo errato causando il fallimento di queste regole. (#1622)

Android

La regola del contrasto dei colori non si avvia quando i colori del testo e dello sfondo sono uguali

La nostra regola del contrasto dei colori dipende dal Machine Learning per rilevare il testo, il che assicura che il testo scansionato sia visibile agli utenti della tua applicazione. Nei casi in cui il testo contenuto in una vista abbia lo stesso colore dello sfondo, il nostro algoritmo di Machine Learning non riesce a rilevare se è presente del testo, quindi la regola del contrasto dei colori non si avvia su questa vista.

EditTextName su Android 7 (SDK 24-25)

Le app scritte con XML che utilizzano la funzione di suggerimento del testo possono mostrare falsi positivi con la EditTextName regola. Il testo di suggerimento non è stato introdotto fino a Android 8 (SDK 26). Usare questo elemento nella tua app XML assegnerà il testo di suggerimento al valore del campo di input del testo. Le versioni più recenti di Android sono meglio equipaggiate 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, potresti considerare di evitare l'uso della hintText funzione, poiché non è ufficialmente supportata.

Viste nascoste di Android che restituiscono risultati

Potresti vedere risultati per viste che sono nascoste dietro altre viste sullo schermo. Queste viste nascoste non sono accessibili alla tecnologia assistiva, ma Axe DevTools Mobile continua a segnalarle come problematiche.

Stiamo lavorando a una soluzione per questo complesso problema. Nel frattempo, se TalkBack non può raggiungere queste viste, puoi ignorare i relativi problemi. Non richiedono una correzione per garantire l'accessibilità.

Errore durante l'esecuzione del Rilevamento Testi di ML Kit

Il rilevamento testi 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 tuoi test automatizzati di Espresso o UIAutomator. Tuttavia, in alcuni casi, 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 del bersaglio tattile e Jetpack Compose

La regola della Spaziatura del bersaglio tattile attualmente non viene eseguita su alcun componente slider scritto in Jetpack Compose. Nessuna azione può essere intrapresa al momento. 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 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 salva localmente per altri livelli API.

Rilevamento dello scorrimento su App Ibride e App Cross-Platform

In alcune app ibride e cross-platform, potremmo restituire risultati inaspettati quando gli 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 di azione fluttuante scompare

Introdotta con API 31 (Android 12) è la capacità di nascondere sovrapposizioni non di sistema. Per usufruire dell'app Axe Analyzer, assicurati che questa impostazione non sia attivata. Se hai scelto di utilizzare questa funzione per i suoi miglioramenti alla sicurezza, ti consigliamo di lasciarla disattivata per i build di test interni dove puoi utilizzare dati di test in sicurezza ed eliminare i problemi 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 qualsiasi chiamata al metodo setHideOverlayWindows(true) a setHideOverlayWindows(false) sulle finestre delle attività interessate.

Screenshot mancanti (Black Box) nella 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 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 si riduce il build, vedrai un crash con un log di errore che segnala che un adattatore non può essere trovato quando si cerca di accedere alla libreria Axe DevTools. Disabilita la minimizzazione per i tuoi build di debug con Axe DevTools implementato. (#729)

I build con r8 abilitato generano un errore

Un build con r8 abilitato può tentare di ridurre la libreria axeDevTools, generando 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)
Per risolvere questo errore aggiungi la seguente riga al tuo file ProGuard per mantenere le classi axeDevTools:
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, si prega di utilizzare le API agnostiche di layout per continuare a ricevere aggiornamenti. Se continui a utilizzare le API 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 la API setTestTag di Compose.

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 dei colori, Testo focalizzabile e Nome dell'elemento nidificato. (#841)

MAUI: Regola Nome Testo Modificabile

A causa delle limitazioni dell'architettura delle app MAUI in esecuzione nell'ecosistema Android, la regola Nome Testo Modificabile verrà mostrata 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 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, consigliamo di non eseguire il nostro strumento contro questi modali o dialoghi personalizzati e di controllarli manualmente per assicurarsi che funzionino come desiderato con le tecnologie assistive.

Dashboard Web

Screenshot Mancante

Se il screenshot manca dalla pagina dei dettagli della scansione, la tua app potrebbe impedire la cattura di screenshot. Spesso ciò avviene per motivi di sicurezza nella tua applicazione in 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 scansione Android sono non formattati

Alcuni nomi di scansione Android che sono impostati di default al titolo della schermata appariranno come il nome completo della classe, incluso l'identificatore del bundle. In un rilascio futuro, questo sarà risolto in modo che 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)