Note di rilascio Axe DevTools Mobile 19 dicembre 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

19 dicembre 2025

Not for use with personal data

Versioni dei componenti

iOS

  • App desktop iOS Analyzer (axe-devtools-mobile-desktop-app v1.1.0)

Come aggiornare: Axe DevTools Mobile Analyzer per iOS
Stai ancora usando il progetto XCode iOS Analyzer?: Passare all'App Desktop Mobile Analyzer

Novità?

App Desktop iOS Mobile Analyzer

Hai provato l'app desktop iOS Mobile Analyzer? Abbiamo aggiunto la funzionalità di ricerca nell'elenco delle app, in modo da poter filtrare le app per nome e trovare più facilmente quelle che desideri analizzare per problemi di accessibilità. Se stai ancora usando il progetto Xcode iOS Analyzer, dai un'occhiata a Come passare all'App Desktop Mobile Analyzer!

Correzioni

  • Piccole correzioni per garantire la salute dell'accessibilità dell'app desktop iOS Mobile Analyzer

Problemi noti

Se stai riscontrando uno dei problemi seguenti, ti preghiamo di contattarci a helpdesk@deque.com o su support.deque.com. Potremo quindi informarti di una soluzione alternativa se non ne è elencata nessuna, o quando il problema sarà risolto.

important
  • I test automatizzati di Axe DevTools Mobile si svolgono su applicazioni native iOS, Android native e React Native. Contatta il tuo rappresentante Deque per ottenere soluzioni di test di accessibilità per il tuo stack tecnologico.
  • Sebbene tu possa ottenere alcuni risultati da web view o PDF renderizzati, consigliamo vivamente di testare utilizzando Axe DevTools for Web o Axe Monitor per una verifica di accessibilità del web più completa.

iOS

Falsi positivi per la regola del Contrasto colore con sfondi degradati su schermi piccoli

Quando si eseguono controlli di accessibilità su piccoli schermi o con dimensioni di carattere ridotte, la regola del Contrasto colore può segnalare falsi positivi per sfondi degradati. In tali casi, potrebbe non essere in grado di determinare il colore del primo piano e invece confronta i colori di sfondo tra loro, risultando in un errore.

Per aggirare questo problema, prova a eseguire i 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 viste.

Inaccurata isVisible proprietà da XCTest

Le API di accessibilità di Apple possono riportare in modo errato il contenuto web all'interno di WKWebView come "isVisible", anche quando la vista web è coperta da sovrapposizioni native (come viste modali, avvisi o altri elementi dell'interfaccia utente nativi). Questo accade perché il sistema di accessibilità controlla se il contenitore di WKWebView è visibile, piuttosto che se il suo contenuto web è effettivamente libero da ostruzioni e percepibile per l'utente.

Bug di accessibilità di iOS 26 con gli stepper

iOS 26 contiene un bug di accessibilità in cui i pulsanti stepper di default non annunciano "oscurato" da parte delle Tecnologie Assistive per indicare che non sono abilitati. Di conseguenza, le regole iOS vedono anche questi pulsanti come abilitati, anche se non lo sono. Un report di bug è stato presentato ad Apple, ma fino a quando non viene risolto, le seguenti regole possono segnalare risultati su pulsanti stepper disabilitati: AssociatedText, InaccessibleActione ColorContrast.

Fino a quando Apple non risolve questo bug, la risoluzione sarà quella di [ignorare le regole](ios-ignore-rule). I pulsanti stepper di default 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.

Falso positivo: LabelInName e LabelAtFront in SwiftUI e App multipiattaforma

Alcune schermate possono segnalare falsi positivi con LabelInName e LabelAtFront a causa di una proprietà associatedText trovata in modo errato (#1622)

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

C'è un problema che riguarda il simulatore iPhone 15 Pro che impedisce l'esecuzione della regola Supporta il Tipo Dinamico. Se hai aderito alla regola Supporta il Tipo Dinamico, non sarai in grado di testarla utilizzando un simulatore iPhone 15 Pro. Un bug è stato segnalato ad Apple.

Regole contro i Controlli Nidificati

Analizzando un miglioramento per le nostre regole, abbiamo scoperto che in XCTest, i controlli nidificati non vengono restituiti nell'albero di accessibilità. Un bug è stato segnalato ad Apple. (#1110)

La Regola del Nome di ImageView richiede risultati di revisione per le app UIKit

Nelle app UIKit, un'immagine senza un accessibilityLabel non è focalizzabile con tecnologie assistive per impostazione predefinita.
Le proprietà che utilizziamo per controllare la focalizzabilità da Apple possono essere inaccurate quando un accessibilityIdentifier è impostato sull'immagine. A causa di questo comportamento inatteso, i risultati per i problemi di ImageView Name nelle app UIKit saranno segnalati come Necessità di Revisione. Un report di bug è stato presentato ad Apple. (#1633)

Falso positivo: in Scroll View, Label In Name, Label at Front e v2.11.0 Image View Name & ActiveControlName

Stiamo lavorando attivamente per correggere i seguenti falsi positivi e aggiorneremo questa lista 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 chi necessita di testo più grande, utilizza UILargeContentViewer. (#622)

v2.11.0 Image View Name & Active Control Name
Se una UIImageView ha un accessibilityIdentifier impostato ma non è focalizzabile da VoiceOver, e ha controlli focalizzabili annidati al suo interno, ActiveControlName potrebbe segnalare un falso positivo sulla UIImageView. Rimuovendo il accessibilityIdentifier si risolve il problema. È stato segnalato 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, può essere rilevato il testo sbagliato nelle vicinanze causando il fallimento di queste regole. (#1622)

Android

La regola del Contrasto del Colore non viene eseguita quando i colori del testo e dello sfondo sono uguali

La nostra regola del Contrasto del Colore dipende dal Machine Learning per rilevare il testo, che garantisce che il testo scansionato sia visibile agli utenti della vostra applicazione. Nei casi in cui il testo contenuto in una vista ha lo stesso colore dello sfondo, il nostro algoritmo di Machine Learning non riesce a 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 in XML che utilizzano la funzione di testo suggerito possono vedere falsi positivi con la regola EditTextName . Il testo suggerito non è stato introdotto fino ad Android 8 (SDK 26). Usare questo elemento nella vostra app XML assegnerà il testo suggerito al valore del campo di input del testo. 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 vostri test su versioni più recenti di Android. Se è importante che l'app sia accessibile su versioni precedenti di Android, tuttavia, potreste considerare di evitare l'uso della funzione hintText , poiché non è ufficialmente supportata.

Viste nascoste di Android che restituiscono risultati

Potreste 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 continua a segnalarle come problemi.

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

Errore durante l'esecuzione del Rilevamento del Testo di ML Kit

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 vostri test automatizzati Espresso o UIAutomator. In alcuni casi, tuttavia, l'importazione automatica non avviene e vedrete il seguente errore nel logcat:

Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.

Per superare questo problema, dovreste importare manualmente la libreria ML Kit nel vostro progetto. Nel build.gradle file della vostra applicazione, aggiungete quanto segue sotto le dipendenze:

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

La regola della Spaziatura del Target di Tocchi al momento non viene eseguita su alcun componente slider che sia stato scritto in Jetpack Compose. Nessuna azione può essere intrapresa in questo momento. Tuttavia, una correzione arriverà presto!

Errore nel salvataggio locale dei risultati 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 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 l'API 30 poiché causerà problemi quando si salva localmente per altri livelli di API.

Rilevamento dello scroll su App Ibride e App Cross-Platform

In alcune app ibride e cross-platform, potremmo restituire risultati inattesi quando elementi in una vista scorrevole sono parzialmente fuori schermo. Per testare un elemento per l'accessibilità, assicuratevi che sia completamente sullo schermo prima di eseguire la scansione.

App Analyzer: Il Floating Action Button scompare

Introdotta con API 31 (Android 12) è la capacità di nascondere sovrapposizioni non di sistema. Per utilizzare l'app Axe Analyzer, assicuratevi che questa impostazione non sia attivata. Se avete scelto di utilizzare questa funzione per i suoi miglioramenti di sicurezza, consigliamo di lasciarla disattivata per le build di test interno dove potete utilizzare i dati di test in sicurezza 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, aggiornate eventuali chiamate al metodo setHideOverlayWindows(true) a setHideOverlayWindows(false) sulle finestre delle attività interessate.

Screenshot Mancante (Rettangolo Nero) nella Dashboard

Per sbloccare la piena funzionalità di Axe DevTools per Mobile, assicuratevi che gli screenshot siano abilitati. Raccomandiamo di abilitare gli screenshot su una versione di debug o di test della vostra app che utilizza dati fittizi per evitare preoccupazioni di sicurezza. Consultate la nostra guida per abilitare gli screenshot nelle app Android.

Crash quando `minifiedEnabled` è impostato su true

Se minimizzate la vostra build, vedrete un crash con un log di errore che segnala che un adattatore non è stato trovato quando si tenta di accedere alla libreria Axe DevTools. Disattivate la minimizzazione per le vostre build di debug con Axe DevTools implementato. (#729)

Le build con r8 abilitato generano un errore

Una build con r8 abilitato potrebbe tentare di minimizzare 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)
Per risolvere questo errore aggiungete la seguente linea al vostro 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)
o: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?

Le API di Compose sono deprecate, si prega di utilizzare le API agnostiche al layout per continuare a ricevere aggiornamenti. Se continuate a utilizzare le API di Compose e incontrate un errore del tipo `Aspettato esattamente '1' nodo ma trovati '2' nodi che soddisfano: (isRoot)` o `Nessuna Vista inizializzata, avete chiamato AxeDevToolsCompose.setComposeTestRule()?`, si prega di fare riferimento a API Compose setTestTag.

Messaggio di log:MlKitContext has not been initialized

Se incontrate questo messaggio, è possibile che alcuni risultati delle regole non vengano restituiti come previsto quando quella regola utilizza l'intelligenza artificiale. Le regole interessate includono Contrasto del Colore, Testo Focalizzabile e Nome dell'Elemento Annidato. (#841)

MAUI: Regola Nome Testo Modificabile

A causa delle limitazioni dell'architettura delle app MAUI nella resa nell'ecosistema Android, la regola Nome Testo Modificabile apparirà come Necessita Revisione nella dashboard quando si sospetta un fallimento per la versione SDK 5.5.0 e superiori. Si prega di confermare manualmente il comportamento corretto in 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, ma di controllarli manualmente per assicurarti che si comportino con la tecnologia assistiva come desiderato.

Dashboard Web

Screenshot mancante

Se lo screenshot è mancante dalla pagina dei dettagli della scansione, è possibile che la tua app impedisca la cattura degli screenshot. Spesso, questo avviene per ragioni di sicurezza nella tua applicazione in produzione. Considera di rimuovere questo requisito per la tua build di test per consentire la piena funzionalità nel Mobile Dashboard di Axe DevTools.

Alcuni nomi di scansioni Android non sono formattati

Alcuni nomi di scansioni Android che sono predefiniti come titolo dello schermo appariranno come il nome completo della classe, incluso l'identificatore del pacchetto. In una versione futura, questo sarà risolto in modo che il titolo dello schermo sia formattato in un nome più leggibile. Come soluzione alternativa, puoi impostare il nome della scansione dal dashboard o dai framework. (#1643)