Note di rilascio di Axe DevTools Mobile del 26 marzo 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

26 marzo 2025

Not for use with personal data

Versioni dei componenti

iOS

  • SDK iOS (axeDevToolsXCUI v2.14.1)
  • Analizzatore iOS (axe-devtools-mobile-analyzer v1.4.9)
  • Driver Appium iOS (axe-appium-xcuitest-driver v1.3.0)

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

Android

  • SDK Android (axe-devtools-android v6.2.0)
  • Analizzatore Android (Axe Accessibility Analyzer v1.12.0)
  • Driver Appium Android (axe-appium-uiautomator2-driver v1.4.0)

Come aggiornare SDK Android, Analizzatore Android, Driver Appium Android

Novità?

SDK

Durante la scrittura dei tuoi test, puoi ora scegliere di ignorare regole sperimentali dagli Axe DevTools Mobile SDK. Poiché le regole sperimentali sono ancora in fase di test e sviluppo, puoi scegliere di concentrarti sui risultati basati sul set di regole standard.

Driver Appium

Hai diverse nuove opzioni quando esegui la scansione con i nostri driver Appium. Puoi:

  • Ignorare le regole sperimentali quando configuri il tuo ambiente
  • Disabilitare il caricamento delle scansioni sulla Mobile Dashboard, per ridurre il numero di richieste di rete e migliorare la velocità della scansione
  • Creare un link a una scansione sulla Mobile Dashboard usando la chiave di risultato

Scopri di più sulla pagina Funzionalità di Appium.

Problemi risolti

iOS

  • Risolto l'errore couldNotSerializeResult per le viste che hanno un'area infinita
  • Ridotti i falsi positivi per le viste che sono parzialmente fuori schermo
  • Miglioramenti all'accuratezza delle regole di Contrasto di Colore e Viste in Collissione

Android

  • Risolto un problema con il modo in cui lo screenshot è memorizzato nella scansione
  • Ridotti i falsi positivi per WebViews
  • Prevenzione dei crash nella schermata di accesso dell'app Analyzer
  • Miglioramenti all'accuratezza delle seguenti regole: Distanza Target di Tocco, Nome ImageView, Etichetta Anteriore e Testo Focalizzabile

Problemi Noti

Se stai riscontrando uno dei problemi sotto elencati, contattaci a helpdesk@deque.com o support.deque.com. Saremo quindi in grado di notificarti una volta risolto o di una soluzione alternativa identificata se nessuna è elencata.

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

iOS

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 scansioni su un dispositivo fisico, aggiorna al progetto iOS Analyzer più recente.

Errore nel progetto Analyzer & Test tramite ID bundle in 2.8.1

La funzionalità per testare un'applicazione tramite identificatore di bundle era difettosa nella versione 2.8.1, il che ha provocato un errore intitolato „Nessun percorso di applicazione target specificato tramite configurazione del test: ...“. Aggiorna alla versione 2.8.2 o alla versione più recente per risolvere l'errore. Aggiorna all'ultima versione del progetto iOS Analyzer.

Errore „Impossibile serializzare AxeResult“ nel progetto Analyzer v1.2.0 & SDK v2.12.3

La scansione di alcune applicazioni con questa versione dell'analyser e dell'SDK comporterebbe un errore „Impossibile serializzare AxeResult“. Aggiorna all'ultima versione per risolvere l'errore. Aggiorna all'ultimo progetto iOS Analyzer.Aggiorna all'ultimo iOS SDK.

Falso positivo: LabelInName e LabelAtFront in SwiftUI & App multipiattaforma

Alcuni schermi potrebbero segnalare falsi positivi con LabelInName e LabelAtFront a causa di una proprietà associatedText incorretta (#1622)

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

Esiste un problema che riguarda il simulatore iPhone 15 Pro che impedisce l'esecuzione della regola di Supporto Tipo Dinamico. Se sei iscritto alla regola di Supporto Tipo Dinamico, non sarai in grado di testarla utilizzando un simulatore iPhone 15 Pro. È stato segnalato un bug ad Apple.

Regole contro controlli nidificati

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

La regola Nome ImageView necessita 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 utilizziamo per verificare la focalizzabilità da Apple potrebbero essere inaccurate quando un `accessibilityIdentifier` è impostato sull'immagine. A causa di questo comportamento inaspettato, i risultati per i problemi di Nome ImageView nelle app UIKit saranno segnalati come Da Rivedere. È stato segnalato un report di bug ad Apple. (#1633)

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

Stiamo lavorando attivamente a correzioni per i seguenti falsi positivi e aggiorneremo questo elenco non appena le correzioni saranno rilasciate.

In Scroll View
Potrebbe segnalare problemi per il testo all'interno di elementi con comportamento banner. Per rendere questi elementi disponibili a coloro che necessitano di testo più grande, usa 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 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 vista, potrebbe essere rilevato il testo sbagliato vicino causando il fallimento di queste regole. (#1622)

Android

EditTextName su Android 7 (SDK 24-25)

Le app scritte con XML che utilizzano la funzionalità di testo di suggerimento potrebbero vedere falsi positivi con la EditTextName regola. Il testo di suggerimento non è stato introdotto fino ad Android 8 (SDK 26). Utilizzando questo elemento nella tua app XML assegnerai il testo di suggerimento al valore del campo di input del testo. Le versioni più recenti di Android sono meglio attrezzate per rendere accessibile questa esperienza.

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 Android precedenti, tuttavia, potresti considerare di evitare l'uso della hintText funzionalità, poiché non è ufficialmente supportata.

Visualizzazioni nascoste di 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 riporta 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 di ML Kit Rilevamento Testo

Il rilevamento del testo del 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 a 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 build.gradle file della tua applicazione, aggiungi il seguente sotto dipendenze:

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

Spaziatura del target di tocco e Jetpack Compose

La regola della Spaziatura del Target di Tocco attualmente non viene eseguita su nessun componente slider che sia stato scritto in Jetpack Compose. Al momento non è possibile prendere nessuna misura. Tuttavia, una correzione arriverà presto!

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 genera un errore di autorizzazioni. Il risultato sarà comunque salvato come file JSON nonostante venga visualizzato questo errore. L'errore può essere soppresso commentando il codice nel blocco seguente:

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 App Multipiattaforma

In alcune app ibride e multipiattaforma, potremmo restituire risultati inaspettati quando elementi in una vista a scorrimento sono parzialmente fuori dallo schermo. Per testare un elemento per l'accessibilità, 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 possibilità 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 qualsiasi chiamata al metodo setHideOverlayWindows(true) a setHideOverlayWindows(false) nelle finestre delle attività interessate.

Schermata mancante (riga nera) nella Dashboard

Per sbloccare la piena funzionalità di Axe DevTools for Mobile, assicurati che le schermate siano abilitate. Raccomandiamo di abilitare le schermate su una versione di debug o test della tua app che utilizza dati simulati per evitare preoccupazioni legate alla sicurezza. Consulta la nostra guida per abilitare le schermate nelle app Android.

Crash quando `minifiedEnabled` è impostato su true

Se si minifica il build, si verificherà un arresto con un log di errore che riporta che un adattatore non potrebbe essere trovato quando si cerca di effettuare il login alla libreria Axe DevTools. Disabilita la minificazione 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 minificare 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, per favore usa le API agnostiche al layout per continuare a ricevere aggiornamenti. Se continui a usare 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()?`, fai riferimento a Compose setTestTag API.

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

MAUI: Regola del nome Edit Text

A causa delle limitazioni dell'architettura dell'app MAUI nel rendering nell'ecosistema Android, la regola del Nome Edit Text verrà visualizzata come Da rivedere nella dashboard quando un errore è sospettato per la versione SDK 5.5.0 e successive. 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 visualizzazioni dietro il modale. In questo caso, si consiglia 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 che gli screenshot vengano presi. Spesso questo avviene per motivi di sicurezza nella tua applicazione di produzione. Considera di rimuovere questo requisito per il tuo build di test per consentire la piena funzionalità nel Dashboard Mobile di Axe DevTools.

Alcuni nomi di scansioni Android sono non formattati

Alcuni nomi di scansioni Android predefiniti come il titolo dello schermo appariranno come il nome completo della classe incluso l'identificatore del bundle. In una versione futura, 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)