Note di rilascio di Axe DevTools Mobile del 16 agosto 2023

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

16 agosto 2023

Not for use with personal data

Versioni dei componenti

  • axeDevToolsXCUI v2.6.0
  • axe-devtools-android v4.0.0

Novità

Presentazione di Axe DevTools Mobile Analyzer

Usa il nuovo Axe DevTools Mobile Analyzer per testare app iOS o Android sviluppate con qualsiasi tecnologia senza accedere al codice sorgente. Testa sia le app native che quelle cross-platform, come SwiftUI e UIKit su iOS, Jetpack Compose e XML su Android, React Native, Flutter, Xamarin e Ionic. Axe DevTools Mobile Analyzer sostituisce il Floating Action Button integrato per i test di accessibilità avviati dall'utente (manuale). Per effettuare il passaggio, rimuovi il codice integrato per il Floating Action Button dalla tua app e segui la documentazione per inizia a utilizzare il nuovo Axe DevTools Mobile Analyzer.

iOS

  • Le viste costruite con SwiftUI e le app cross-platform possono ora essere testate tramite test avviati dall'utente (manuale) utilizzando il nuovo Axe DevTools Mobile Analyzer per iOS.
  • La regola Supporta Dynamic Type è ora disponibile nel framework XCUI. Questa regola ridimensiona il testo più volte e rivaluta lo schermo dopo ogni ridimensionamento per cercare problemi, il che richiede alcuni secondi per l'esecuzione. Per questo motivo, abbiamo rilasciato questa funzione come opt-in. Per aderire, impostare optInToSDT come true dall'API di configurazione di Axe. axeDevTools.configuration.optInToSDT = true.
  • La versione minima supportata di iOS è ora iOS 14 (precedentemente iOS 13).

Android

  • Le app cross-platform possono ora essere testate tramite test avviati dall'utente (manuale) utilizzando il nuovo Axe DevTools Mobile Analyzer per Android.
  • Le app che utilizzano viste Jetpack Compose eseguiranno ora l'intero set di regole tramite test sia avviati dall'utente (manuale) che automatizzati. (In precedenza, le app Android che utilizzavano Jetpack Compose avevano un set di regole più ridotto.)
  • Ora supportiamo il framework di test UI Automator per i test automatizzati.
  • L'SDK Android aggiornato consente la scansione automatizzata dell'accessibilità tramite Espresso e UI Automator usando il Registro di Strumentazione, che non richiede di specificare alcuna visualizzazione o attività.
  • Modifica principale: la classe DashboardService è stata sostituita con la classe ResultsDashboard.

Dashboard

  • Tempo di caricamento migliorato per il conteggio e il riepilogo delle problematiche dalla schermata principale del Dashboard.
  • Migliorato l'aspetto della Gerarchia delle viste quando visualizzata nel browser Safari.

Correzioni di bug

Axe DevTools Mobile per iOS

  • Regola del contrasto colore - Non eseguiremo più le regole del contrasto colore sui pulsanti disabilitati, poiché tali regole non sono applicabili agli elementi disabilitati.
  • Regola dei controlli collidenti - Qualsiasi controllo non contrassegnato come focalizzabile per l'accessibilità o non come elemento di accessibilità non sarà più considerato quando si osservano controlli collidenti.
  • Risultati salvati localmente - Il nome della scansione viene ora correttamente aggiunto al file JSON quando salvato localmente o scaricato dal Dashboard. Questo risolve il titolo "scansione senza nome" che in precedenza appariva nei rapporti HTML generati dal Reporter CLI.

Dashboard di Axe DevTools Mobile

  • Correzioni di accessibilità: aggiunto il ruolo aria mancante="button", migliorato l'intestazione del modal annuncio, rimosso il tooltip nella gerarchia delle viste e aggiunti migliori annunci del lettore di schermo per la paginazione.
  • Corretto il nome della scansione nello screenshot che in precedenza sovrapponeva il pulsante 'Inspect'.
  • Risolto un problema in cui gli utenti in prova gratuita vedevano un caricamento infinito.

Aggiornamenti

Questo rilascio segna l'ultimo dei nostri aggiornamenti al framework UIKit per i test automatizzati sulle app iOS. Continueremo a offrire questo framework per il futuro prevedibile, ma non faremo più correzioni di bug o aggiornamenti. Ti invitiamo a passare al framework XCUI che sarà aggiornato con nuove regole e miglioramenti in futuro. Se stai attualmente utilizzando il framework UIKit per test automatici di unità o interfaccia utente e desideri supporto per il passaggio al framework XCUI, ti preghiamo di farcelo sapere. Invia una richiesta a support.deque.com o invia un'email a helpdesk@deque.com.

Problemi noti

Se stai riscontrando uno dei problemi elencati di seguito, contattaci a helpdesk@deque.com o support.deque.com. In questo modo potremo avvisarti una volta risolto o di un eventuale workaround, se non elencato.

important
  • I test automatizzati di Axe DevTools Mobile funzionano su app native iOS, native Android e React Native. Contatta il tuo rappresentante Deque per soluzioni di test di accessibilità sulla tua tecnologia.
  • Per supportarti nell'ottenere risultati accurati e consigli di correzione applicabili, le regole di Axe DevTools Mobile non vengono eseguite in web view o PDF renderizzati. Per testare contenuti HTML, utilizza Axe DevTools per Web. Axe Monitor supporta la scansione dei PDF per l'accessibilità.

Axe DevTools Mobile per iOS

axeDevToolsUIKit.xcframework

Le viste costruite con SwiftUI non possono essere testate utilizzando questo framework per il test automatizzato.

Usa il framework axeDevToolsXCUI nel UITesting per le viste SwiftUI.

Il supporto per le regole personalizzate è disponibile solo in Swift

L'API delle regole personalizzate non è aperta a Objective-C.

Falsi positivi: InScrollView, SupportsDynamicType, Viste in collisione

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

InScrollView
InScrollView potrebbe segnalare problemi per il testo all'interno di elementi con comportamento a banner. Per rendere questi elementi disponibili a chi necessita di testo più grande, utilizzare UILargeContentViewer.

SupportsDynamicType
Potresti vedere falsi positivi nei seguenti scenari:

  • Se utilizzi la UIContentSizeCategoryDidChange notifica, il framework potrebbe segnalare erroneamente che il testo non risponde a Dynamic Type nei test UI.
  • Se utilizzi NotificationCenter.default.addObserver(forName:.., object:.., queue:.., using:..) per rispondere alla UIContentSizeCategoryDidChange notifica.
  • Se utilizzi traitCollectionDidChange sulla vista genitore del testo o sul controller di vista per rispondere a Dynamic Type.
Colliding Views
When a scrollable subview contains text, and that subview does not span to the edge of the screen's bounds, you will see failures for text located within the view's bounds.

axeDevToolsXCUI.xcframework

Picker SwiftUI e Picker UIKit

I Picker in SwiftUI e UIKit potrebbero causare blocchi del framework su simulatori o dispositivi. (#636)

Regole contro i controlli nidificati

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

Falso positivo: in Scroll View, ActiveControlName

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

In Scroll View
Potrebbe segnalare problemi per il testo all'interno di elementi con comportamento a banner. Per rendere questi elementi disponibili a chi necessita di testo più grande, utilizzare UILargeContentViewer. (#622) ActiveControlName
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 su UIImageView. Rimuovere l'`accessibilityIdentifier` risolve il problema. (#1178)

Falso negativo: Nome della vista immagine, Testo focalizzabile in iOS 13 fino a iOS 14.8.1

Stiamo lavorando attivamente a delle correzioni per i seguenti falsi negativi e aggiorneremo questo elenco man mano che le correzioni verranno rilasciate.

Image View Name
Se un UIImageView ha impostato un `accessibilityIdentifier` ma non è focalizzabile da VoiceOver, ImageViewName potrebbe segnalare un falso negativo su UIImageView. Rimuovere l'`accessibilityIdentifier` risolve il problema. (#1188) Focusable Text
Gli elementi contrassegnati come non accessibili potrebbero riportare risultati impropri a causa di un bug nel framework di Apple.

Axe DevTools Mobile per Android

Crash quando si utilizza Proguard

Se il build di debug o test utilizza Proguard, segui i passaggi per ignorare Deque nelle impostazioni di Proguard.

Crash quando `minifiedEnabled` è impostato su true

Se hai minificato il build, vedrai un crash con un registro di errore che riporta che un adattatore non è stato trovato durante il tentativo di accedere alla libreria Axe DevTools. Disabilita minify per i tuoi build di debug con Axe DevTools implementato. (#729)

Errori di compilazione con progetto Java8 e Axe DevTools Android 3.1.0

Prova le seguenti importazioni:

implementation 'androidx.core:core-ktx:1.9.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'
	
After importing the above library, if you see errors related to minSDK version for core-ktx library try the following in your project’s Android Manifest:
<uses-sdk tools:overrideLibrary="androidx.core" />

Build con r8 abilitato genera un errore

Un build con r8 abilitato potrebbe 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)

Se incontri un errore simile a `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)`, contattaci a helpdesk@deque.com o support.deque.com per assistenza. In determinate condizioni, potrebbero esistere due nodi Compose root contemporaneamente.

Dashboard Mobile di Axe DevTools

Alcuni nomi di scansioni Android non sono formattati

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