Note di rilascio Axe DevTools Mobile 21 maggio 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

21 maggio 2025

Not for use with personal data

Versioni dei componenti

iOS

  • SDK iOS (axeDevToolsXCUI v2.15.0)
  • Analizzatore iOS (axe-devtools-mobile-analyzer v1.4.11)
  • Driver Appium iOS (axe-appium-xcuitest-driver v1.4.0)

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

Android

  • SDK Android (axe-devtools-android v6.3.0)
  • Analizzatore Android (Axe Accessibility Analyzer v1.13.0)
  • Driver Appium Android (axe-appium-uiautomator2-driver v1.4.1)

Come aggiornare SDK Android, Analizzatore Android, Driver Appium Android

Novità?

Allineamento sorgente delle regole

Ora, quando si fa riferimento alle nostre regole di accessibilità, troverete che esse sono allineate direttamente ai criteri di successo delle Linee guida per l'accessibilità dei contenuti Web (WCAG) o che sono considerate una Best Practice definita da una nota nelle WCAG, un consiglio degli esperti Deque A11y, o raccomandazioni da parte di Apple e Google.

SDK e App Analizzatore Android

Implementato un modo nuovo e migliorato per testare l'orientamento dello schermo.

Regole sperimentali disattivate di default

Per allinearci al comportamento di Axe DevTools per il Web, abbiamo disabilitato le regole sperimentali di default nel Dashboard di Axe DevTools Mobile. Scoprite di più su regole sperimentali e come potete abilitarle se lo desiderate.

Correzioni

iOS

  • Le regole non solleveranno più problemi per i controlli all'interno della tastiera fornita dal sistema operativo
  • Miglioramenti nella precisione delle regole Nome dell'Etichetta e Controllo Attivo

Android

  • Migliorata la gestione degli errori per un'eccezione durante la raccolta di AccessibilityNodeInfo
  • Adeguamento dell'implementazione di MLKit per ridurre la disallineamento delle versioni
  • Miglioramenti nella precisione delle regole Nome EditText e Contrasto Colore

Problemi noti

Se riscontrate uno dei seguenti problemi, contattateci a helpdesk@deque.com o support.deque.com. Potremo così notificarvi quando sarà risolto o di una soluzione alternativa identificata se non ve ne è una elencata.

important
  • I test automatizzati di Axe DevTools Mobile funzionano su applicazioni native iOS, native Android e React Native. Contattate il vostro rappresentante Deque per soluzioni di test sull'accessibilità della vostra tecnologia.
  • Anche se potreste ottenere alcuni risultati da web view o PDF resi, raccomandiamo vivamente l'uso di Axe DevTools per il 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 nell'iOS Analyzer 1.4.7 impedisce l'esecuzione delle scansioni, restituendo il messaggio "Test Failed". Per eseguire le scansioni su un dispositivo fisico, aggiornate il progetto iOS Analyzer all'ultima versione.

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

La funzionalità di test dell'applicazione tramite identificatore di bundle è stata interrotta nella versione 2.8.1 causando un errore intitolato "No target application path specified via test configuration: ...". Aggiornate alla versione 2.8.2 o alla versione più recente per risolvere l'errore. Aggiornate all'ultima versione nel progetto iOS Analyzer.

Errore "Could not Serialize AxeResult" nel progetto Analyzer v1.2.0 e SDK v2.12.3

La scansione di alcune applicazioni con questa versione dell'analizzatore e SDK comportava un errore "Could not Serialize AxeResult". Aggiorna alla versione più recente per risolvere l'errore. Aggiorna all'ultimo progetto iOS Analyzer.Aggiorna all'ultimo iOS SDK.

Falso positivo: LabelInName e LabelAtFront in SwiftUI e app multipiattaforma

Alcuni schermi possono 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 iOS 15 Pro

C'è un problema che influisce sul simulatore iPhone 15 Pro che impedisce l'esecuzione della regola Supports Dynamic Type. Se sei iscritto alla 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

Mentre valutavamo un miglioramento per le 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 ImageView Name richiede revisione per i risultati delle app UIKit

Nelle app UIKit, un'immagine senza un `accessibilityLabel` non è di default focalizzabile con la tecnologia assistiva.
Le proprietà che utilizziamo 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 i problemi di ImageView Name nelle app UIKit saranno 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 Image View Name & 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
Potrebbe segnalare problemi per il testo all'interno di elementi che si comportano come banner. Per rendere tali elementi accessibili a coloro che richiedono testi più grandi, usa 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 nidificati al suo interno, ActiveControlName potrebbe segnalare un falso positivo sull'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 vista, può essere rilevato testo vicino errato che causa il fallimento di queste regole. (#1622)

Android

La regola di contrasto cromatico non viene eseguita quando i colori di testo e sfondo sono uguali

La nostra regola di contrasto cromatico dipende dall'apprendimento automatico per rilevare il testo, il che garantisce che il testo scansionato 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 testo, quindi la regola di contrasto cromatico non viene eseguita su questa vista.

EditTextName su Android 7 (SDK 24-25)

Le app scritte con XML che utilizzano la funzione di testo suggerito potrebbero vedere falsi positivi con la EditTextName regola. Il testo suggerito non è stato introdotto fino ad Android 8 (SDK 26). Utilizzando questo elemento nella tua app XML, il testo suggerito verrà assegnato al valore del campo di input di 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 tuoi test su versioni più recenti di Android. Se è importante che l'app sia accessibile su versioni precedenti di Android tuttavia, potresti considerare di evitare l'uso della hintText funzione, poiché non è ufficialmente supportata.

Visualizzazioni nascoste Android che restituiscono risultati

Potresti vedere risultati per visualizzazioni che sono nascoste dietro altre visualizzazioni sullo schermo. Queste visualizzazioni 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 visualizzazioni, puoi ignorare i problemi corrispondenti. Non richiedono una correzione per garantire l'accessibilità.

Errore durante l'esecuzione del rilevamento testo ML Kit

Il rilevamento testo di ML Kit è richiesto in molte delle regole Axe DevTools Mobile per garantire la precisione dei risultati. La libreria ML Kit dovrebbe essere importata automaticamente durante il 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 tuo build.gradle file dell'applicazione, aggiungi il seguente sotto le dipendenze:

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

Distanza obiettivo tattile e Jetpack Compose

La regola per la distanza obiettivo tattile attualmente non viene eseguita su componenti slider scritti in Jetpack Compose. Non si può intraprendere alcuna azione al momento. Tuttavia, arriverà presto una soluzione!

Errore quando si salva localmente i risultati su API 30

Su Android API 30, una delle posizioni in cui tentiamo di salvare localmente i risultati ha un errore di autorizzazione. 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
//    }
}

Please note that this code should only be commented out for API 30 as it will cause problems when saving locally for other API levels.

Rilevamento dello scorrimento su app ibride e multipiattaforma

In alcune app ibride e multipiattaforma, potremmo restituire risultati inaspettati quando gli elementi in una vista a scorrimento sono parzialmente fuori schermo. Per testare l'accessibilità di un elemento, assicurati che sia completamente visibile 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 sulla sicurezza, ti consigliamo di lasciarla disattivata per le build di test interne dove puoi utilizzare in sicurezza i dati di test e eliminare in tal modo preoccupazioni sulla 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 qualsiasi chiamata al metodo setHideOverlayWindows(true) a setHideOverlayWindows(false) sulle finestre delle attività interessate.

Screenshot mancanti (scatola nera) nel 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 di test fittizi per evitare problemi di sicurezza. Consulta la nostra guida per abilitare gli screenshot nelle app Android.

Crash quando `minifiedEnabled` è impostato su true

Se comprimi la tua build, vedrai un crash con un log di errore che segnala che un adattatore non potrebbe essere trovato quando si tenta di effettuare il login alla libreria Axe DevTools. Disattiva la compressione per le tue build di debug con Axe DevTools implementato. (#729)

Le build con r8 abilitato generano un errore

Un 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
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.** { *; }

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 al layout per continuare a ricevere aggiornamenti. Se continui a utilizzare le API Compose e riscontri un errore simile a `Previsto esattamente '1' nodo ma trovati '2' nodi che soddisfano: (isRoot)` oppure `Nessuna Vista inizializzata, hai chiamato AxeDevToolsCompose.setComposeTestRule()?`, si prega di fare riferimento a API Compose setTestTag.

Messaggio di registro:MlKitContext has not been initialized

Se incontri questo messaggio, alcuni risultati delle regole potrebbero non restituire come previsto quando quella regola sta utilizzando l'intelligenza artificiale. Le regole interessate includono Contrasto del Colore, Testo a Fuoco e Nome dell'Elemento Annidato. (#841)

MAUI: Regola Nome Testo Modificabile

A causa delle limitazioni dell'architettura delle app MAUI nel rendering nell'ecosistema Android, la regola Nome Testo Modificabile verrà mostrata come Da Revisionare nel pannello quando un errore è sospettato 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 invece 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, la tua app potrebbe impedire la cattura degli screenshot. Spesso questo avviene per motivi di sicurezza nella tua applicazione di produzione. Considera la possibilità di rimuovere questo requisito per la tua build di test per permettere la piena funzionalità nel Dashboard Mobile di Axe DevTools.

Alcuni nomi delle scansioni Android non sono formattati

Alcuni nomi delle scansioni Android che di default corrispondono al titolo dello schermo appariranno come il nome completo della classe, incluso l'identificatore del bundle. In un rilascio futuro, questo sarà risolto così 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 frameworks. (#1643)