axe DevTools Mobile Note sulla versione del 14 febbraio 2024
14 Febbraio, 2024
Versioni dei componenti
- axeDevToolsMobile Appium Plugin v1.0
Cosa c'è di nuovo?
Soluzione Appium migliorata
- Siamo lieti di annunciare una soluzione migliorata per utilizzare Appium per eseguire test di accessibilità sulle tue app mobili. In precedenza, axe DevTools Mobile supportava i test Appium con app native iOS o Android e richiedeva di incorporare il codice axe nell'app. Ora offriamo un plugin Appium che ti consente di testare qualsiasi app, nativa o multipiattaforma. Puoi utilizzare qualsiasi client Appium per i tuoi script di test e non hai bisogno di incorporare alcun codice Deque nella tua app. È facile da installare e iniziare a usare. Inizia con Appium
- La versione iniziale del plugin copre cinque regole basate sugli standard WCAG. Nei prossimi mesi miglioreremo il nostro set di regole. Regole Appium
- Se stai già utilizzando le nostre funzionalità Appium originali per ottenere i test di accessibilità mobile di cui hai bisogno, puoi continuare a utilizzarle per ora. In futuro passeremo al nuovo plugin Appium, una volta completato il set di regole. Restate sintonizzati per ulteriori aggiornamenti.
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.
axe DevTools Mobile per 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.
Le Viste fuori dallo schermo potrebbero mostrare risultati per le app SwiftUI testate in iOS 17
Con la versione 2.8.0 (Visualizza note di rilascio), i risultati non vengono più segnalati nelle viste non visibili, comprese quelle fuori dallo schermo o nascoste da un'altra vista. Abbiamo scoperto che nelle applicazioni SwiftUI testate in iOS 17 alcuni risultati sono ancora visibili. (#1383)
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)
Falso positivo: in Scroll View, ActiveControlName
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)
NomeControlloAttivo
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. (#1226)
Falso negativo: nome della visualizzazione dell'immagine, testo selezionabile in iOS 13 tramite iOS 14.8.1
Stiamo lavorando attivamente per correggere i seguenti falsi negativi e aggiorneremo questo elenco non appena saranno pubblicate le correzioni.
Nome ImageView
Se un UIImageView ha un `accessibilityIdentifier` impostato ma non è attivabile tramite VoiceOver, NomeImageView potrebbe segnalare un falso negativo su UIImageView. Rimuovendo il `accessibilityIdentifier` il problema viene risolto. È stato segnalato un bug ad Apple. (#1226)
Testo selezionabile
Gli elementi contrassegnati come elementi non accessibili potrebbero segnalare risultati errati a causa di un bug nel framework di Apple.
axe DevTools Mobile per Android
Arresto anomalo durante l'utilizzo di Proguard
Se la build di debug o di test utilizza Proguard, seguire i passaggi per escludere Deque nelle impostazioni di Proguard.
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)
Se riscontri un errore del tipo `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 contemporaneamente due nodi radice Compose.
Dashboard di axe DevTools Mobile
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)
axe DevTools Mobile per Appium
Falso positivo: Nome visualizzazione attiva
A causa delle limitazioni nelle informazioni disponibili tramite la piattaforma Appium, abbiamo identificato un falso positivo per Nome della vista attiva quando si utilizza la proprietà labeledBy
per fornire un'etichetta per un elemento pulsante. Stiamo valutando soluzioni e prevediamo una correzione in una versione futura.
React Native: Etichetta nel nome ed etichetta nella parte anteriore
A causa delle limitazioni nelle informazioni disponibili tramite la piattaforma Appium, abbiamo identificato che le regole 'Label In Name' e 'Label At Front' non possono essere eseguite per le app create con React Native. Stiamo valutando soluzioni e prevediamo una correzione in una versione futura.
React Native: 'Inspect View Hierarchy' che mostra la schermata precedente
A volte la proprietà sorgente della pagina Appium necessita di più tempo per essere aggiornata tra una scansione e l'altra. In tal caso, quando si utilizza la funzione di ispezione sulla dashboard verrà visualizzata la gerarchia di visualizzazione della schermata precedente. Per risolvere il problema, aggiungere un piccolo timeout prima di chiamare l'API della sorgente della pagina per richiedere la scansione di accessibilità. Esempio:
await driver.pause(1000); const result = await driver.getPageSource();