Note di rilascio di Axe DevTools Mobile 21 gennaio 2025
21 gennaio 2025
Novità?
Punteggio di Accessibilità
Abbiamo cambiato l'algoritmo di valutazione dell'accessibilità per Axe DevTools Mobile per allinearlo con il nostro prodotto web. Il dashboard ha un nuovo aspetto, non presenta più un grafico, il numero totale di problemi o un punteggio di accessibilità. Quel punteggio precedentemente considerava ogni problema e la sua rispettiva gravità. Ora, gli utenti possono ottenere un punteggio per ciascuna scansione. Il problema più grave in quella schermata determina il punteggio. La funzione di scansione del gruppo ora include un punteggio di accessibilità calcolato dalla media dei punteggi per ciascuna delle scansioni incluse in quel gruppo. Puoi comunque fare clic su scansioni individuali per poi vedere tutti i problemi trovati in ciascuna scansione.
Correzioni
- Miglioramenti multipli per l'accessibilità sul Dashboard di Axe DevTools Mobile
- Corretto un problema con la visualizzazione errata della scansione nella funzione di scansioni di gruppo
Problemi Conosciuti
Se stai affrontando uno dei problemi sottostanti, contattaci a helpdesk@deque.com o support.deque.com. Così potremo informarti una volta risolto o di una soluzione alternativa identificata se nessuna è elencata.
- I test automatizzati di Axe DevTools Mobile funzionano su applicazioni native iOS, native Android e React Native. Si prega di contattare il tuo rappresentante Deque per soluzioni di test di accessibilità sul tuo stack tecnologico.
- Anche se potresti ottenere alcuni risultati da web view o PDF renderizzati, ti consigliamo vivamente di testare utilizzando Axe DevTools for Web o Axe Monitor per i test di accessibilità web più completi.
iOS
Errore nel Progetto Analyzer & Test tramite Bundle ID nella versione 2.8.1
La funzionalità di testare un'applicazione tramite identificatore di bundle era interrotta nella versione 2.8.1 il che ha provocato un errore intitolato "Percorso dell'applicazione target non specificato tramite configurazione del test: ...". Aggiorna alla versione 2.8.2 o alla versione più recente per risolvere l'errore. Aggiorna all'ultima versione nel progetto iOS Analyzer.
Errore di "Non è stato possibile serializzare AxeResult" nel Progetto Analyzer v1.2.0 & SDK v2.12.3
La scansione di alcune applicazioni con questa versione dell'analyzer e SDK porterebbe a un errore di "Non è stato possibile serializzare 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 App SwiftUI e Multipiattaforma
Alcune schermate possono riportare falsi positivi con LabelInName e LabelAtFront a causa di una proprietà associatedText non corretta (#1622)
Regola Supports Dynamic Type non funzionante con il simulatore iOS 15 Pro
C'è un problema che riguarda il simulatore iPhone 15 Pro che impedisce l'esecuzione della regola Supports Dynamic Type. Se hai aderito alla regola Supports Dynamic Type, non potrai testarla utilizzando un simulatore iPhone 15 Pro. Un bug è stato segnalato ad Apple.
Regole contro Controlli Annidati
Durante l'analisi per migliorare le nostre regole, abbiamo scoperto che in XCTest, i controlli annidati non vengono restituiti nell'albero dell'accessibilità. Un bug è stato segnalato ad Apple. (#1110)
La Regola del Nome dell'ImageView Richiede Revisione nei Risultati per le App UIKit
Nelle app UIKit, un'immagine senza un `accessibilityLabel` non è focalizzabile con la tecnologia assistiva di default.
Le proprietà che usiamo per controllare la focalizzabilità da Apple potrebbero essere inaccurate quando viene assegnato un `accessibilityIdentifier` all'immagine. A causa di questo comportamento imprevisto, i risultati per i problemi di Nome di ImageView nelle app UIKit verranno riportati come da Revisionare. Un report di bug è stato segnalato ad Apple. (#1633)
Falso Positivo: In Scroll View, Label In Name, Label at Front, e v2.11.0 Nome Immagine e NomeControlloAttivo
Stiamo lavorando attivamente alle correzioni per i seguenti falsi positivi e aggiorneremo questo elenco man mano che le correzioni saranno rilasciate.
In Scroll View
Potrebbe riportare problemi per il testo all'interno di elementi che si comportano come banner. Per rendere questi elementi disponibili a chi ha bisogno di testo più grande, 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 annidati al suo interno, NomeControlloAttivo potrebbe riportare un falso positivo sul UIImageView. La rimozione dell'`accessibilityIdentifier` risolve il problema. Un bug è stato segnalato 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, il testo vicino errato potrebbe essere rilevato causando il fallimento di queste regole. (#1622)
Android
Errore al salvataggio dei risultati localmente su API 30
Su Android API 30, una delle posizioni in cui tentiamo di salvare i risultati localmente ha un errore di permessi. Il risultato verrà comunque salvato come file JSON nonostante questo errore venga visualizzato. L'errore può essere eliminato 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 Scorrimento su Applicazioni Ibride e Multipiattaforma
In alcune app ibride e multipiattaforma, potremmo restituire risultati inaspettati quando gli elementi in una vista di scorrimento sono parzialmente fuori schermo. Per testare un elemento per l'accessibilità, assicurati che sia completamente a schermo prima di eseguire la scansione.
App Analyzer: Il Pulsante di Azione Fluttuante Scompare
Introdotta con API 31 (Android 12) è la capacità di nascondere overlay 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 alla sicurezza, consigliamo di lasciarla disattivata per le build di test interne dove puoi utilizzare in sicurezza i dati di test ed eliminare in questo modo problemi 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) sulle finestre delle attività affette.
Screenshot Mancante (Casella Nera) nel Dashboard
Per sbloccare la piena funzionalità di Axe DevTools per Mobile, assicurati che gli screenshot siano abilitati. Consigliamo di abilitare gli screenshot su una versione di debug o di test della tua app che utilizza dati simulati per evitare problemi di sicurezza. Consulta la nostra guida per abilitare gli screenshot nelle app Android.
Crash quando `minifiedEnabled` è impostato su true
Se minimizzi il tuo build, potrai riscontrare 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. Disabilita la minimizzazione per i tuoi build di debug con Axe DevTools implementato. (#729)
I build con r8 abilitato lanciano 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)
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 utilizzare le API Compose e riscontri 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.
Messaggio di log:MlKitContext has not been initialized
Se incontri questo messaggio, alcuni risultati delle regole potrebbero non restituire quanto previsto quando quella regola utilizza l'intelligenza artificiale. Le regole coinvolte includono Contrasto di colore, Testo focalizzabile e Nome elemento nidificato. (#841)
MAUI: Regola nome campo di testo
A causa delle limitazioni dell'architettura delle app MAUI nel rendering nell'ecosistema Android, la regola Nome campo di testo verrà visualizzata come Richiede revisione sulla dashboard quando si sospetta un errore 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 tal caso, consigliamo di non utilizzare il nostro strumento contro questi modali o dialoghi personalizzati e invece di verificarli manualmente per assicurarsi che funzionino con la tecnologia assistiva come desiderato.
Dashboard Web
Screenshot mancanti
Se lo screenshot è mancante dalla pagina dei dettagli della scansione, l'app potrebbe impedire che vengano acquisiti screenshot. Spesso questo accade per motivi di sicurezza nella tua applicazione di produzione. Considera la possibilità di rimuovere questo requisito per il tuo build di test per consentire la piena funzionalità nella Dashboard Mobile di Axe DevTools.
Alcuni nomi di scansione Android sono non formattati
Alcuni nomi di scansione Android che sono impostati di default sul titolo dello schermo appariranno come il nome completo della classe, inclusa l'identificatore del pacchetto. In un rilascio futuro, 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 dalla dashboard o dai framework. (#1643)
