Note di rilascio di Axe DevTools Mobile del 2 luglio 2026

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

2 luglio 2026

Not for use with personal data

Versioni dei componenti

Appium

iOS

  • Driver iOS Appium 2 (axe-appium2-xcuitest-driver v2.5.0)
    • (Derivato da XCUITest v9.10.4)
  • Driver iOS Appium 3 (axe-appium3-xcuitest-driver v1.4.0)
    • (Derivato da XCUITest v11.10.0)

Come aggiornare: Driver iOS Appium

Android

  • Driver Android Appium 2 (axe-appium2-uiautomator2-driver v2.5.0)
    • (Derivato da UiAutomator2 v4.2.8)
  • Driver Android Appium 3 (axe-appium3-uiautomator2-driver v1.4.0)
    • (Derivato da UiAutomator2 v7.6.1)

Come aggiornare: Driver Android Appium

Novità?

Report HTML Aggregati

Aggiungere mobile: generateHtmlReportAndSummary una volta per test produrrà un report HTML autonomo per le scansioni mirate e lo trasferirà dal dispositivo a una directory locale - axeHtmlReportPath. Trova i dettagli dell'implementazione qui: Genera un report HTML e un sommario.

Deprecazioni e Rimozioni

La proprietà di configurazione axeServerUrl per Auto Scan è stata deprecata, così come la axeServiceUrl per il Testing Mirato. axeAccountURL è stata configurata per sostituire entrambe queste proprietà.

Problemi Noti

Se stai riscontrando uno dei seguenti problemi, contattaci al helpdesk@deque.com o support.deque.com. Saremo quindi in grado di informarti una volta risolto o di un workaround identificato se nessuno è elencato.

important
  • I test automatizzati di Axe DevTools Mobile sono eseguiti su applicazioni native iOS, Android native e React Native. Si prega di contattare il proprio rappresentante Deque per soluzioni di test di accessibilità sulla propria piattaforma tecnologica.
  • Anche se si può ottenere qualche risultato da visualizzazioni web o PDF resi, consigliamo vivamente di eseguire test utilizzando axe DevTools per il Web o axe Monitor per la più completa verifica dell'accessibilità web.

iOS

Il contrasto colore potrebbe essere eseguito su elementi esclusivamente icona a causa dell'OCR

La regola sul Contrasto Colore utilizza il framework Vision di Apple (riconoscimento ottico dei caratteri, o OCR) per leggere il testo all'interno dei confini di un elemento. L'OCR può occasionalmente identificare erroneamente piccoli glifi simili a icone - come le frecce a sinistra (<), punti elenco, simboli decorativi - come testo. Quando ciò avviene, la regola sul Contrasto Colore si applica a un elemento che non contiene testo leggibile, il che può produrre un risultato per un pulsante esclusivamente icona. Poiché l'output dell'OCR non è deterministico tra le scansioni, lo stesso elemento può apparire nei risultati sul Contrasto Colore in una scansione e essere segnalato come "NON APPLICABILE" nella successiva. Questa è una caratteristica nota dell'OCR, non un bug nella regola.

Per aggirare questo problema, puoi usare le ignore API per sopprimere i risultati sul Contrasto Colore per gli elementi interessati.



// Ignore Color Contrast for a specific element by accessibility identifier
axeDevTools?.configuration.ignore(rulesFor: [
    "backButton": [AxeRuleId.ColorContrast.toString()]
])

// Oppure ignora globalmente il Contrasto Colore axeDevTools?.configuration.ignore(rule: AxeRuleId.ColorContrast.toString())

Scopri di più su ignorare le regole.

Falso positivo del titolo dello schermo nelle app Flutter

Flutter non mappa AppBar.title alla proprietà del titolo dello schermo nativo - UIViewController.title, causando l'errore della regola del Titolo dello Schermo su tutti gli schermi Flutter indipendentemente dalla presenza di un titolo descrittivo.

Questa è una limitazione nota della piattaforma Flutter tracciata in flutter/flutter#185894.

Falsi positivi per la regola del Contrasto dei Colori con sfondi a gradiente su schermi piccoli

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

Per ovviare a questo problema, prova a eseguire controlli di accessibilità su dispositivi più grandi. In alternativa, puoi optare per ignorare la regola nei tuoi test e controllare manualmente il Contrasto dei Colori per queste visualizzazioni.

Inaccurato isVisible proprietà da XCTest

Le API di accessibilità di Apple possono riportare erroneamente contenuti web all'interno di WKWebView come "isVisible", anche quando il web view è coperto da sovrapposizioni native (come viste modali, avvisi o altri elementi UI nativi). Ciò accade perché il sistema di accessibilità verifica se il contenitore WKWebView stesso è visibile, piuttosto che se il suo contenuto web è effettivamente non ostruito e percepibile all'utente.

Bug di accessibilità iOS 26 con gli stepper

iOS 26 contiene un bug di accessibilità in cui i pulsanti stepper di default non annunciano "dimmed" dalla tecnologia assistiva per indicare che non sono abilitati. Di conseguenza, anche le regole di iOS vedono questi pulsanti come abilitati anche se non lo sono. È stato segnalato un bug ad Apple, ma finché non sarà risolto, le seguenti regole potrebbero segnalare 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 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 & App Cross-Platform

Alcuni schermi possono riportare falsi positivi con LabelInName e LabelAtFront a causa di una proprietà associatedText errata rilevata (#1622)

La regola Supports Dynamic Type non funziona con il simulatore iOS 15 Pro

C'è un problema che colpisce il simulatore iPhone 15 Pro che impedisce la regola Supports Dynamic Type di funzionare. Se hai abilitato la regola Supports Dynamic Type, non sarai in grado di testarla utilizzando un simulatore iPhone 15 Pro. È stato segnalato un bug ad Apple.

Regole contro i controlli nidificati

Durante il miglioramento delle nostre regole, abbiamo scoperto che in XCTest, i controlli nidificati non vengono restituiti nell'albero di accessibilità. È stato segnalato un bug ad Apple. (#1110)

La regola del Nome degli ImageView ha bisogno di 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 usiamo 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 del Nome degli ImageView nelle app UIKit verranno segnalati come da Rivedere. È stato segnalato un bug ad Apple. (#1633)

Falso Positivo: In Scroll View, Label In Name, Label at Front, e v2.11.0 Nome dell'ImageView & ActiveControlName

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

In Scroll View
Il testo all'interno di elementi che si comportano come banner potrebbe essere contrassegnato con un messaggio "Da Rivedere". Per rendere questi elementi accessibili a chi necessita di testo più grande, utilizza UILargeContentViewer. (#622)

v2.11.0 Image View Name & Active Control Name
Se un UIImageView ha impostato un `accessibilityIdentifier` ma non è focalizzabile da VoiceOver, e ha controlli focalizzabili annidati al suo interno, ActiveControlName può segnalare un falso positivo sull'UIImageView. Rimuovere il `accessibilityIdentifier` 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 aiutare a determinare lo stato della regola. In alcune gerarchie di visualizzazione, può essere rilevato il testo vicino errato causando l'errore di queste regole. (#1622)

Android

Potenziali problemi di accessibilità per il Testo Focalizzabile

Quando si utilizza testo decorativo in viste come "Icone di Contatto", è possibile introdurre un problema di accessibilità. Se si utilizza una vista testo per visualizzare lettere invece di generare immagini con le lettere desiderate come vettori, e si dichiara quindi che la vista testo non è importante per l'accessibilità, non saremo in grado di determinare con certezza se hai introdotto una violazione di accessibilità.

Se modifichi il testo focalizzabile per ignorare due o meno caratteri, potresti inavvertitamente ignorare molti pulsanti a parola singola in varie lingue (es. "OK", "No", "Sì"). Per evitare questi problemi, dovresti prendere le lettere desiderate dalla parola che desideri rappresentare nell'icona e generare le lettere come parte dell'immagine invece che come viste testo separate. `FocusableText` dunque non verrà avviato su quelle viste.

Falso positivo sul Titolo dello Schermo nelle app Flutter

Flutter non mappa AppBar.title alla proprietà nativa del titolo dello schermo - Activity.setTitle, causando l'errore della regola del Titolo dello Schermo su tutti gli schermi Flutter indipendentemente dalla presenza di un titolo descrittivo.

Questa è una limitazione nota della piattaforma Flutter tracciata in flutter/flutter#185894.

Rilevazione di testo annunciato falso positivo

In alcuni casi, la tecnologia assistiva si affida a AccessibilityEvent descrizioni dal sistema Android per annunciare informazioni all'utente quando non è disponibile nessun altro annuncio. Poiché AccessibilityEventvengono attivati da azioni dell'utente, non siamo in grado di accedere alla descrizione corretta se queste informazioni non vengono fornite.

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 può quindi rilevare.

La regola del contrasto cromatico non viene eseguita quando i colori del testo e dello sfondo sono gli stessi

La nostra regola del contrasto cromatico si basa sul machine learning per rilevare il testo, assicurando che il testo esaminato 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 machine learning non è in grado di rilevare se è presente del testo, quindi la regola del contrasto cromatico non viene eseguita su questa vista.

EditTextName su Android 7 (SDK 24-25)

Le app scritte con XML che utilizzano la funzione del testo di suggerimento possono vedere falsi positivi con la EditTextName regola. Il testo di suggerimento non è stato introdotto fino ad Android 8 (SDK 26). L'utilizzo di 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 tuoi 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, in quanto 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 ancora 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 di ML Kit Text Detection

La rilevazione del testo ML Kit è richiesta 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 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 tuo build.gradle file della tua applicazione, aggiungi quanto segue sotto le dipendenze:

debugImplementation 'com.google.mlkit:text-recognition:16.0.1'

Find a full working example of the ML Kit library being imported in the Android Mobile SDK Getting Started section, under Implementazione

Spaziatura dei Target Touch e Jetpack Compose

La regola della spaziatura dei target touch attualmente non viene eseguita su alcun componente slider scritto in Jetpack Compose. Al momento non è possibile intervenire. Tuttavia, una soluzione è in arrivo!

Errore nel 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 sarà ancora 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 poiché causerà problemi quando si salva localmente per altri livelli API.

Rilevazione dello scroll su App Ibride e Cross-Platform

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

Analyzer App: Floating Action Button scompare

Introdotta con API 31 (Android 12) è la possibilità 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 di sicurezza, ti consigliamo di lasciarla disattivata per le build di test interne, dove puoi utilizzare in sicurezza i dati di test ed eliminare i problemi di sicurezza in quel 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 dell'attività interessata.

Screenshot mancanti (scatola nera) nel Dashboard

Per sbloccare la piena funzionalità di axe DevTools per Mobile, assicurati che gli screenshot siano abilitati. Ti consigliamo di abilitare gli screenshot su una versione di debug o di test della tua app che utilizza dati di test per evitare problemi di sicurezza. Dai un'occhiata alla nostra guida per abilitare gli screenshot nelle app Android.

Crash quando minifiedEnabled è impostato su vero

Se minimizzi il tuo build, vedrai un crash con un log di errore che riporta che un adattatore non può essere trovato quando si tenta di accedere alla libreria axe DevTools. Disattiva il minify per i tuoi build di debug con axe DevTools implementato. (#729)

I build con r8 abilitato riportano un errore

Un 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)
    
To resolve this error add the following line to your ProGuard file to keep axeDevTools classes:
keep class com.deque.** { *; }

Messaggi di errore durante l'uso delle API Compose

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 del tipo `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` o `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, fai riferimento a Compose setTestTag API.

MAUI: regola Edit Text Name

A causa delle limitazioni dell'architettura delle app MAUI nel rendere l'ecosistema Android, la regola Edit Text Name sarà visualizzata come necessita revisione nel dashboard quando viene rilevato un problema sospetto per la versione SDK 5.5.0 e successive. Ti preghiamo 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 viste dietro il modale. In questo caso, consigliamo di non eseguire il nostro strumento contro questi modali o dialoghi personalizzati e invece di verificarli manualmente per assicurarti che funzionino con la tecnologia assistiva come desiderato.

Dashboard Web

Screenshot Mancanti

Se lo screenshot è assente nella pagina dei dettagli della scansione, la tua app potrebbe impedire che vengano catturati screenshot. Spesso questo avviene per motivi di sicurezza nella tua applicazione di produzione. Considera l'idea di rimuovere questo requisito per la tua build di test per consentire la piena funzionalità nel Dashboard di axe DevTools Mobile.

Alcuni nomi di scansione Android sono non formattati

Alcuni nomi di scansione Android che sono predefiniti come titolo dello schermo appariranno come il nome completo della classe incluso l'identificatore del bundle. In un futuro aggiornamento, questo verrà 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)