Note di Rilascio di Axe DevTools Mobile 12 Febbraio 2025
12 Febbraio 2025
Versioni dei Componenti
- SDK Android (axe-devtools-android v6.1.0)
- Analizzatore Android (Axe Accessibility Analyzer v1.11.0)
- Driver Android Appium (axe-appium-uiautomator2-driver v1.3.0)
- Axe DevTools Reporter CLI v4.10.0
Come aggiornare: SDK Android, Analizzatore Android, Driver Android Appium, Axe DevTools Reporter CLI
Novità?
Driver Android Appium
La funzionalità delle Regole di Ignoro è ora disponibile per il driver Appium Android! Consulta la nostra documentazione Regole di Ignoro Android tenendo presente che, per il driver Android Appium, le Regole di Ignoro possono essere implementate solo con le tutte, non tramite viste selezionate o nome classe. Per saperne di più su come applicare le Regole di Ignoro, consulta la nostra documentazione configurazione Appium. Il supporto per il driver Appium iOS sarà presto disponibile.
Axe Reporter CLI
Ora, quando generi un report HTML dal file JSON della scansione mobile, sarai in grado di vedere il Punteggio di Accessibilità insieme al conteggio totale dei problemi, al Rapporto di Successo e alla Severità dei Problemi. Puoi vedere un punteggio per tutte le scansioni o selezionare una singola scansione per vedere il suo punteggio. Questo aggiunta si allinea con il Punteggio di Accessibilità che vedi nella Dashboard di Axe DevTools Mobile.
A titolo di riferimento, il Rapporto di Successo è la percentuale di requisiti di accessibilità soddisfatti con successo sul numero totale di requisiti verificati. Il Punteggio di Accessibilità viene calcolato in base al numero totale di schermate, al numero di problemi e alla gravità di questi.
Correzioni per Android
- Risultati più consistenti e affidabili tra app native e cross-platform
- Miglioramenti all'accessibilità per l'app Analyzer
- Aggiornamenti per migliorare le prestazioni e l'accuratezza di tutte le regole di accessibilità
Problemi Noti
Se incontri uno dei problemi elencati di seguito, contattaci all'indirizzo helpdesk@deque.com o support.deque.com. Saremo quindi in grado di notificarti una volta risolto o di un workaround identificato se nessuno è elencato.
- I test automatizzati di Axe DevTools Mobile vengono eseguiti su applicazioni native iOS, native Android e React Native. Si prega di contattare il proprio rappresentante Deque per soluzioni di test di accessibilità sul proprio stack tecnologico.
- Sebbene tu possa ottenere alcuni risultati da web view o PDF resi, raccomandiamo vivamente di eseguire i test utilizzando Axe DevTools per il Web o Axe Monitor per i test di accessibilità più completi per il web.
iOS
Errore nel Progetto Analyzer e Test per ID Bundle in 2.8.1
La funzionalità di test di un'applicazione tramite identificatore del pacchetto era interrotta nella versione 2.8.1, il che ha causato un errore intitolato "Nessun percorso applicazione target specificato tramite configurazione del test: ...". Aggiorna alla versione 2.8.2 o all'ultima versione per risolvere l'errore. Aggiorna all'ultima versione all'interno del progetto iOS Analyzer.
"Impossibile serializzare l'errore 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 "Impossibile serializzare l'errore AxeResult". Aggiorna all'ultima versione per risolvere l'errore. Aggiorna all'ultimo progetto iOS Analyzer.Aggiorna all'ultimo SDK iOS.
Falso positivo: LabelInName e LabelAtFront in SwiftUI & App Cross Platform
Alcune schermate possono segnalare falsi positivi con LabelInName e LabelAtFront a causa di una proprietà associatedText errata trovata (#1622)
La regola Supporta Tipo Dinamico non funziona con il simulatore iOS 15 Pro
C'è un problema che interessa il simulatore iPhone 15 Pro che impedisce l'esecuzione della regola Supporta Tipo Dinamico. Se hai aderito alla regola Supporta Tipo Dinamico, non potrai testarla utilizzando un simulatore iPhone 15 Pro. È stato presentato un bug ad Apple.
Regole contro Controlli Annidati
Mentre esaminavamo un miglioramento per le nostre regole, abbiamo scoperto che in XCTest, i controlli annidati non vengono restituiti nell'albero accessibilità. È stato presentato un bug ad Apple. (#1110)
La regola Nome ImageView ha bisogno di una revisione dei risultati per app UIKit
Nelle app UIKit, un'immagine senza un `accessibilityLabel` non è focalizzabile con tecnologia assistiva di default.
Le proprietà che utilizziamo per verificare la focalizzabilità da Apple potrebbero essere imprecise quando un `accessibilityIdentifier` è impostato sull'immagine. A causa di questo comportamento inatteso, i risultati per i problemi di Nome ImageView nelle app UIKit saranno segnalati come Bisogno di Revisione. È stato presentato un rapporto di bug ad Apple. (#1633)
Falso positivo: In Scroll View, etichetta nel nome, etichetta frontale e nome Image View v2.11.0 & ActiveControlName
Stiamo lavorando attivamente per risolvere i seguenti falsi positivi e aggiorneremo questo elenco non appena verranno rilasciate le correzioni.
In Scroll View
Potrebbero esserci segnalazioni di problemi per il testo all'interno di elementi con comportamento da banner. Per rendere questi elementi accessibili a chi necessita di testo più grande, utilizzare 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 l'`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 determinare lo stato della regola. In alcune gerarchie di vista, potrebbe essere rilevato il testo vicino errato, causando il fallimento di queste regole. (#1622)
Android
Spaziatura del bersaglio tocco e Jetpack Compose
La regola Spaziatura del bersaglio tocco attualmente non viene eseguita su nessun componente slider scritto in Jetpack Compose. Al momento, non si possono prendere provvedimenti. Tuttavia, una correzione è in arrivo!
Errore durante il salvataggio dei risultati localmente su API 30
Su Android API 30, uno dei luoghi in cui tentiamo di salvare i risultati localmente ha un errore di permesso. Il risultato sarà comunque salvato come file JSON nonostante venga visualizzato questo errore. 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 di scorrimento su App ibride e App multipiattaforma
In alcune app ibride e multipiattaforma, potremmo ottenere risultati inattesi quando gli elementi in una vista a scorrimento sono parzialmente fuori schermo. Per testare un elemento per l'accessibilità, assicurati che sia completamente sullo schermo prima di eseguire la scansione.
App Analyzer: Floating Action Button scompare
Introdotta con API 31 (Android 12) è la capacità 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 mantenerla spenta per le build di test interne dove puoi utilizzare in sicurezza i dati di test 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, aggiorna le chiamate al metodo setHideOverlayWindows(true) a setHideOverlayWindows(false) sulle finestre di attività interessate.
Screenshot Mancante (Riquadro Nero) 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 fittizi per evitare preoccupazioni di sicurezza. Consulta la nostra guida per abilitare gli screenshot nelle app Android.
Crash quando `minifiedEnabled` è impostato su true
Se riduci il tuo build, vedrai un crash con un registro degli errori che riporta che non è stato possibile trovare un adattatore quando si tenta di effettuare il login alla libreria Axe DevTools. Disabilita la minimizzazione per i tuoi build di debug con Axe DevTools implementato. (#729)
I build con r8 abilitato generano un errore
Un build con r8 abilitato potrebbe tentare di minimizzare la libreria axeDevTools causando 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)
o: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?
Le API di Compose sono deprecate, si prega di utilizzare le API indipendenti dal layout per continuare a ricevere aggiornamenti. Se continui a utilizzare le API di Compose e incontri un errore come `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 quanto atteso quando quella regola utilizza l'intelligenza artificiale. Le regole interessate includono Contrasto del colore, Testo focalizzabile e Nome dell'elemento nidificato. (#841)
MAUI: Regola Nome Testo Modificabile
A causa delle limitazioni dell'architettura dell'app MAUI nel rendering nell'ecosistema Android, la regola Nome Testo Modificabile verrà mostrata come Necessita Revisione nel dashboard quando si sospetta un fallimento per la versione SDK 5.5.0 e successive. Si prega di confermare manualmente il comportamento corretto in questo caso.
Android Nativo: Dialoghi personalizzati / Modali
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 di verificarli manualmente per assicurarti che si comportino come desiderato con la tecnologia assistiva.
Dashboard Web
Screenshot Mancante
Se lo screenshot manca dalla pagina dei dettagli della scansione, la tua app potrebbe impedire che vengano scattati screenshot. Spesso ciò 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 scansione Android non sono formattati
Alcuni nomi di scansione Android che sono impostati di default al titolo dello schermo appariranno come il nome completo della classe incluso l'identificatore di pacchetto. In una versione futura, questo sarà 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)
