Note di Rilascio di Axe DevTools Mobile del 14 agosto 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

14 agosto 2025

Not for use with personal data

Versioni dei Componenti

iOS

  • iOS SDK (axeDevToolsXCUI v2.17.0)
  • Analizzatore iOS (axe-devtools-mobile-analyzer v1.5.0)
  • Driver Appium per iOS (axe-appium-xcuitest-driver v1.7.0) (Derivato da XCUITest v9.10.4)

Come aggiornare: iOS SDK, Analizzatore iOS, Driver Appium per iOS

Android

  • SDK Android (axe-devtools-android v7.1.0)
  • Analizzatore Android (Axe Accessibility Analyzer v2.1.0)
  • Driver Appium per Android (axe-appium-uiautomator2-driver v1.5.0) (Derivato da UiAutomator2 v4.2.8)

Come aggiornare SDK Android, Analizzatore Android, Driver Appium per Android

Risoluzioni

iOS

  • Miglioramenti alla precisione delle seguenti regole: Nome degli elementi annidati, Dimensione dell'obiettivo tattile e Spaziatura dell'obiettivo tattile

Android

  • Se MLKit non riesce a funzionare, verrà riportato un elemento 'Da rivedere' sulla vista principale della scansione per indicare che il resto dei risultati potrebbe non essere accurato. Trova i dettagli di seguito per come puoi importare MLKit manualmente, qualora si verificasse.
  • Miglioramenti alla precisione della regola Nome della vista attiva

Aggiornamenti

Supporto di Livello API Android

  • L'app Mobile Analyzer ora supporta il Livello API 36

Problemi Conosciuti

Se stai riscontrando uno dei problemi seguenti, ti preghiamo di contattarci a helpdesk@deque.com o support.deque.com. Potremo quindi avvisarti una volta risolto o di una soluzione alternativa identificata se nessuna è elencata.

important
  • Axe DevTools Mobile esegue test automatizzati su applicazioni native iOS, native Android e React Native. Contatta il tuo rappresentante Deque per soluzioni di test dell'accessibilità per il tuo stack tecnologico.
  • Sebbene tu possa ottenere alcuni risultati da visualizzazioni web o PDF resi, raccomandiamo vivamente di testare utilizzando Axe DevTools per Web o Axe Monitor per il test di accessibilità più completo 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 configurazione nelle impostazioni dell'iOS Analyzer 1.4.7 impedisce l'esecuzione delle scansioni, restituendo il messaggio "Test Fallito". Per eseguire scansioni su un dispositivo fisico, aggiorna al progetto più recente di iOS Analyzer.

Errore nel Progetto dell'Analizzatore & Testando per ID del Pacchetto nella versione 2.8.1

La funzionalità di testare un'applicazione tramite identificatore di pacchetto era 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 al progetto più recente dell'Analizzatore iOS.

Errore "Impossibile Serializzare AxeResult" nel Progetto dell'Analizzatore v1.2.0 & SDK v2.12.3

La scansione di alcune applicazioni con questa versione dell'analizzatore e SDK avrebbe comportato un "Could not Serialize AxeResult" errore. Aggiorna alla versione più recente per risolvere l'errore. Aggiorna al progetto più recente dell'Analizzatore iOS.Aggiorna al più recente iOS SDK.

Falsi positivi: LabelInName e LabelAtFront in SwiftUI e app cross-platform

Alcune schermate potrebbero segnalare falsi positivi con LabelInName e LabelAtFront a causa di una proprietà associatedText errata (#1622)

La regola Supports Dynamic Type 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 Supports Dynamic Type. Se hai aderito alla regola Supports Dynamic Type, non sarai in grado di testarla utilizzando un simulatore di iPhone 15 Pro. È stato inviato un bug ad Apple.

Regole contro i controlli nidificati

Mentre esaminavamo un miglioramento per le nostre regole, abbiamo riscontrato che in XCTest, i controlli nidificati non vengono restituiti nell'albero di accessibilità. È stato inviato un bug ad Apple. (#1110)

La regola del nome di ImageView richiede i risultati di revisione 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 verificare la focalizzabilità da Apple potrebbero essere inaccurate quando viene impostato un accessibilityIdentifier sull'immagine. A causa di questo comportamento inaspettato, i risultati per problemi di ImageView Name nelle app UIKit verranno segnalati come necessita di revisione. È stato inviato un bug ad Apple. (#1633)

Falsi positivi: In Scroll View, Label In Name, Label at Front e Nome Immagine View & ActiveControlName v2.11.0

Stiamo lavorando attivamente su correzioni per i seguenti falsi positivi e aggiorneremo questo elenco man mano che verranno rilasciate le correzioni.

In Scroll View
Potrebbero segnalare 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 da VoiceOver, e ha controlli focalizzabili nidificati al suo interno, ActiveControlName potrebbe segnalare un falso positivo su 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 un'etichetta visibile del controllo tra gli elementi vicini per aiutare a determinare lo stato della regola. In alcune gerarchie di viste, il testo vicino errato potrebbe essere rilevato causando il fallimento di queste regole. (#1622)

Android

La regola del contrasto dei colori non viene eseguita quando i colori del testo e del background sono gli stessi

La nostra regola del contrasto dei colori dipende dal Machine Learning per rilevare il testo, garantendo che il testo esaminato sia visibile agli utenti della tua applicazione. Nei casi in cui il testo contenuto in una vista ha lo stesso colore del background, il nostro algoritmo di Machine Learning 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 con XML che utilizzano la funzione di testo di suggerimento possono vedere falsi positivi con la regola EditTextName . Il testo di suggerimento non è stato introdotto fino ad Android 8 (SDK 26). Usare questo elemento nella tua app XML assegnerà il testo di suggerimento al valore del campo di input. Le versioni più recenti di Android sono meglio attrezzate per rendere questa esperienza accessibile.

Per superare questo problema, la nostra prima raccomandazione è di eseguire i tuoi test su versioni Android più recenti. Tuttavia, se è importante che l'app sia accessibile su versioni Android precedenti, potresti considerare di evitare l'uso della funzione hintText , 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 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 correzione 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 automaticamente importata quando si fa riferimento ad Axe DevTools Mobile nei tuoi 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 superare questo problema, dovresti importare manualmente la libreria ML Kit nel tuo progetto. Nel file della tua applicazione build.gradle , aggiungi il seguente sotto le dipendenze:

implementation 'com.google.mlkit:text-recognition:16.0.1'
Spaziatura del target di tocco e Jetpack Compose

Al momento, la regola della spaziatura del target di tocco non viene eseguita su alcun componente slider scritto in Jetpack Compose. Al momento non può essere intrapresa 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 ha un errore di permessi. Il risultato verrà comunque salvato come file JSON nonostante questo errore venga visualizzato. 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 causerebbe problemi quando si salva localmente per altri livelli API.

Rilevamento dello scorrimento nelle app ibride e nelle 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 sullo schermo prima di eseguire la scansione.

App Analyzer: Il pulsante di azione flottante 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 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 le chiamate al metodo setHideOverlayWindows(true) a setHideOverlayWindows(false) sulle finestre di attività interessate.

Schermata mancante (Box nero) nel Dashboard

Per sbloccare tutta la 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 utilizzi dati fittizi per evitare preoccupazioni di sicurezza. Consulta la nostra guida per abilitare gli screenshot nelle app Android.

Crash quando `minifiedEnabled` è impostato su true

Se comprimete la tua build, vedrai un crash con un log di errore che riporta che un adattatore non è stato trovato quando si tenta di accedere alla libreria Axe DevTools. Disabilita la compressione per le build di debug con Axe DevTools implementato. (#729)

Le build con r8 abilitato generano un errore

Una build con r8 abilitato può tentare di comprimere la libreria axeDevTools causando 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, ti preghiamo di utilizzare le API indipendenti dal layout per continuare a ricevere aggiornamenti. Se continui a utilizzare le API 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()?`, ti preghiamo di fare riferimento a Compose setTestTag API.

Messaggio di log:MlKitContext has not been initialized

Se incontri questo messaggio, alcuni risultati delle regole potrebbero non restituire quanto previsto quando quella regola utilizza l'intelligenza artificiale. Le regole interessate includono Contrasto Colore, Testo Focalizzabile e Nome Elemento Nidificato. (#841)

MAUI: Regola Nome Modifica Testo

A causa delle limitazioni dell'architettura dell'app MAUI nel rendering nell'ecosistema Android, la regola Nome Modifica Testo verrà visualizzata come Da Revisionare nel cruscotto quando si sospetta un errore per la versione SDK 5.5.0 e successive. Ti preghiamo di confermare manualmente il comportamento corretto in questo caso.

Android Nativo: Dialoghi / Modali Personalizzati

Quando implementi dialoghi personalizzati o modali 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 su questi modali o dialoghi personalizzati, ma di controllarli manualmente per garantire che si comportino come desiderato con la tecnologia assistiva.

Dashboard Web

Screenshot Mancante

Se lo screenshot manca dalla pagina dei dettagli della scansione, è possibile che la tua app stia impedendo il salvataggio degli schermate. 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 la piena funzionalità nel Dashboard Mobile di Axe DevTools.

Alcuni nomi di scansioni Android sono non formattati

Alcuni nomi di scansioni Android che sono impostati di default al titolo dello schermo appariranno come il nome completo della classe inclusivo dell'identificatore del pacchetto. In un prossimo 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 cruscotto o dai framework. (#1643)