axe DevTools Mobile Note sulla versione del 19 novembre 2024
19 Novembre 2024
Versioni dei componenti
- SDK Android (axe-devtools-android v6.0.0)
- Analizzatore Android (axe Accessibility Analyzer v1.10.0)
- Driver Android Appium (axe-appium-uiautomator2-driver v1.2.0)
Come aggiornare: Android SDK, Android Analyzer, Android Appium Driver
Modifiche di rilievo
L'Android SDK è stato aggiornato alla versione 6.0.0, che include due modifiche incompatibili. La regola Visualizzazione accessibile inattiva è stata rimossa poiché è stata rinominata Azione inaccessibile nella versione 5.6.0. Anche il metodo di adesione per il servizio di utilizzo è stato rimosso poiché era obsoleto nella versione 5.4.0 e ora gli utenti possono abilitare il monitoraggio del servizio di utilizzo dal Axe Account Portal.
Correzioni
- Flusso di autorizzazione semplificato nell'app axe Accessibility Analyzer
- Migliorata la precisione delle regole Etichetta nel nome, Etichetta nella parte anteriore, Nome vista attiva, Nome casella di controllo, Nome elementi nidificati e Nome interruttore
Problemi noti
Se riscontri uno dei problemi elencati di seguito, contattaci all'indirizzo helpdesk@deque.com o support.deque.com. Saremo quindi in grado di informarti una volta risolto il problema o di una soluzione alternativa individuata, se non ne è elencata nessuna.
- I test automatizzati di axe DevTools Mobile vengono eseguiti 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 potresti ottenere alcuni risultati dalle visualizzazioni web o dai PDF renderizzati, ti consigliamo vivamente di effettuare dei test utilizzando axe DevTools for Web o axe Monitor per i test di accessibilità per il web più completi.
iOS
Errore nel progetto Analyzer e Test tramite ID del bundle in 2.8.1
Nella versione 2.8.1, la funzionalità di test di un'applicazione tramite identificatore bundle non funzionava, provocando un errore denominato "Nessun percorso dell'applicazione di destinazione specificato tramite la configurazione del test: ...". Per risolvere l'errore, esegui l'aggiornamento alla versione 2.8.2 o all'ultima versione. Aggiorna alla versione più recente del progetto iOS Analyzer.
Falso positivo: LabelInName e LabelAtFront in SwiftUI e app multipiattaforma
Alcune schermate potrebbero segnalare falsi positivi con LabelInName e LabelAtFront a causa del rilevamento di una proprietà associatedText non corretta (#1622)
La regola Supporta il tipo dinamico non funziona con il simulatore iOS 15 Pro
Si è verificato un problema nel simulatore dell'iPhone Pro con iOS 15 che impedisce l'esecuzione della regola Supporta i tipi dinamici. Se hai scelto la regola Supporta il tipo dinamico, non potrai testarlo utilizzando un simulatore di iPhone Pro con iOS 15. È stato segnalato un bug ad Apple.
Regole contro i controlli nidificati
Esaminando un possibile miglioramento delle 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 del nome ImageView deve essere rivista per le app UIKit
Nelle app UIKit, per impostazione predefinita, un'immagine senza `accessibilityLabel` non può essere messa a fuoco con la tecnologia assistiva.
Le proprietà che utilizziamo per verificare la messa a fuoco da Apple potrebbero essere imprecise quando viene impostato un `accessibilityIdentifier` sull'immagine. A causa di questo comportamento imprevisto, i risultati relativi ai problemi del nome ImageView nelle app UIKit verranno segnalati come "Necessita di esame". È stato segnalato un bug ad Apple. (#1633)
Falso positivo: In Scroll View, Label In Name, Label at Front, e Image View Name & ActiveControlName v2.11.0
Stiamo lavorando attivamente per risolvere i seguenti falsi positivi e aggiorneremo questo elenco non appena saranno pubblicate le correzioni.
Nella vista a scorrimento
Potrebbero essere segnalati problemi relativi al testo all'interno di elementi che si comportano come banner. Per rendere questi elementi disponibili a coloro che necessitano di testo più grande, utilizzare UILargeContentViewer
. (#622)
v2.11.0 Nome della visualizzazione dell'immagine & Nome del controllo attivo
Se un UIImageView ha un `accessibilityIdentifier` impostato ma non è attivabile da VoiceOver, e al suo interno contiene controlli attivabili, ActiveControlName potrebbe segnalare un falso positivo su UIImageView. Rimuovendo il `accessibilityIdentifier` il problema viene risolto. È stato segnalato un bug ad Apple. (#1633)
Etichetta nel nome ed etichetta all'inizio
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 visualizzazione, potrebbe essere rilevato del testo adiacente non corretto, causando il fallimento di queste regole. (#1622)
Android
App Analyzer: il Floating Action Button scompare
Con l'API 31 (Android 12) è stata introdotta la possibilità di nascondere le sovrapposizioni non di sistema. Per poter utilizzare l'app axe Analyzer, assicurati che questa impostazione non sia attivata. Se hai scelto di utilizzare questa funzionalità 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 in questo modo le preoccupazioni sulla sicurezza. Nota: questa impostazione non influisce sull'app di scansione dell'accessibilità di Google poiché è considerata un overlay di sistema.
Per utilizzare l'app axe Accessibility Analyzer, aggiorna tutte le chiamate al metodo setHideOverlayWindows(true)
a setHideOverlayWindows(false)
sulle finestre di attività interessate.
Screenshot mancante (scatola nera) nella dashboard
Per sbloccare tutte le funzionalità di axe DevTools per dispositivi mobili, assicurati che gli screenshot siano abilitati. Per evitare problemi di sicurezza, ti consigliamo di abilitare gli screenshot su una versione di debug o di prova della tua app che utilizza dati fittizi. Consulta la nostra guida per abilitare gli screenshot nelle app Android.
Arresto anomalo quando `minifiedEnabled` è impostato su true
Se minimizzi la tua compilazione, vedrai un crash con un registro degli errori che segnala che non è stato possibile trovare un adattatore quando provi ad accedere alla libreria axe DevTools. Disabilita la minimizzazione per le compilazioni di debug con axe DevTools implementato. (#729)
Le build con r8 abilitato generano un errore
Una compilazione con r8 abilitato potrebbe tentare di minimizzare la libreria axeDevTools, generando 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)Per risolvere questo errore, aggiungi la seguente riga al tuo file ProGuard per mantenere le classi axeDevTools:
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 Compose sono deprecate, utilizzate le API indipendenti dal layout per continuare a ricevere gli aggiornamenti. Se continui a utilizzare le API di 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 API di Compose setTestTag.
Messaggio di log:MlKitContext has not been initialized
Se visualizzi questo messaggio, alcuni risultati delle regole potrebbero non essere restituiti come previsto quando la regola in questione utilizza l'intelligenza artificiale. Le regole interessate includono Contrasto colore, Testo attivabile e Nome elemento nidificato. (#841)
MAUI: Regola Modifica Nome Testo
A causa delle limitazioni del rendering dell'architettura dell'app MAUI nell'ecosistema Android, la regola Modifica nome testo verrà visualizzata come Necessita di revisione nella 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 personalizzati / Modali
Quando si implementano finestre di dialogo o finestre modali personalizzate che non estendono i controlli nativi, è possibile che si ottengano risultati per le viste dietro la finestra modale. In questo caso, consigliamo di non eseguire il nostro strumento su queste finestre di dialogo o modali personalizzate, ma di controllarle manualmente per verificare che si comportino come desiderato con la tecnologia assistiva.
Pannello di controllo Web
Screenshot mancante
Se lo screenshot non è presente nella pagina dei dettagli della scansione, è possibile che l'app impedisca l'acquisizione degli screenshot. Spesso ciò avviene per motivi di sicurezza nell'applicazione di produzione. Considera di rimuovere questo requisito dalla build di test per consentire la piena funzionalità nella dashboard mobile di axe DevTools.
Alcuni nomi di scansione Android non sono formattati
Alcuni nomi di scansione Android che per impostazione predefinita compaiono nel titolo della schermata appariranno come nome completo della classe, incluso l'identificativo 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 alternativa, puoi impostare il nome della scansione dalla dashboard o dai framework. (#1643)