Note di rilascio di Axe DevTools Mobile del 14 agosto 2024
14 agosto 2024
Versioni dei componenti
- iOS SDK (axeDevToolsXCUI v2.12.3)
- iOS Analyzer (axe-devtools-mobile-analyzer v1.2.0)
- Android SDK (axe-devtools-android v5.5.2)
- Android Analyzer (Axe Accessibility Analyzer v1.8.4)
Come aggiornare: iOS SDK, iOS Analyzer, Android SDK, Android Analyzer
Novità
Dashboard
Migliorati gli schermi di scansione e dettaglio delle segnalazioni
Abbiamo aggiornato gli schermi di scansione e dettaglio delle segnalazioni nel Dashboard di Axe DevTools Mobile per renderli più facili da utilizzare e preparare il terreno per futuri miglioramenti. Anche se gli schermi sembrano diversi, la funzionalità importante è ancora disponibile. Hai feedback? Facci sapere inviando un'email a mobile-feedback@deque.com
iOS
Motore di regole integrato nel progetto Analyzer
Abbiamo rimosso la dipendenza da Swift Package Manager per ottenere axeDevToolsXCUI nel progetto iOS Analyzer Xcode. L'ultima versione del framework XCUI è ora integrata nell'Analyzer per ogni rilascio. Questo cambiamento renderà più facile aggiornare il progetto Analyzer e garantirà di avere sempre il motore di regole più aggiornato.
Risoluzioni
Android
- Risolto un problema per cui l'app Analyzer si bloccava quando il dispositivo veniva riavviato su Android API livello 34
- Miglioramenti e potenziamenti per aumentare la precisione e ridurre i falsi positivi per le regole di Contrasto Colore e Dimensione Target Tattile
- I dati di utilizzo sono ora disponibili nei Rapporti Axe
iOS
- Migliorato il modo in cui rileviamo se le viste SwiftUI sono visibili all'utente, riducendo così i falsi positivi e migliorando la precisione per varie regole
- Miglioramenti e potenziamenti per aumentare la precisione e ridurre i falsi positivi nelle seguenti regole: Azione Inaccessibile, Testo Selezionabile, Titolo Schermo, Nome Elementi Annidati
Problemi noti
Se stai riscontrando uno dei seguenti problemi, contattaci a helpdesk@deque.com o support.deque.com. Saremo in grado di notificarti una volta risolto il problema o di un'eventuale soluzione temporanea identificata, se nessuna è elencata.
- 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à per il proprio stack tecnologico.
- Anche se potresti ottenere alcuni risultati da web view o PDF renderizzati, consigliamo vivamente di testare utilizzando Axe DevTools per Web o Axe Monitor per avere il test di accessibilità più completo per il web.
Axe DevTools Mobile per iOS
Errore nel progetto Analyzer e Test via Bundle ID nella versione 2.8.1
La funzionalità per testare un'applicazione tramite identificatore bundle è stata 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 alla versione più recente per risolvere l'errore. Aggiorna all'ultima versione all'interno del progetto iOS Analyzer.
Falso positivo: LabelInName e LabelAtFront in SwiftUI e App multipiattaforma
Alcuni schermi potrebbero segnalare falsi positivi con LabelInName e LabelAtFront a causa di una proprietà associatedText trovata in modo errato (#1622)
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 optato per la regola Supporta Tipo Dinamico, non sarai in grado di testarla utilizzando un simulatore iPhone 15 Pro. Un bug è stato segnalato ad Apple.
Regole contro i Controlli Annidati
Mentre valutavamo un miglioramento delle nostre regole, abbiamo scoperto che in XCTest, i controlli annidati non vengono restituiti nell'albero dell'accessibilità. Un bug è stato segnalato ad Apple. (#1110)
Regola nome ImageView necessita di revisione risultati per app UIKit
Nelle app UIKit, un'immagine senza un `accessibilityLabel` non è focalizzabile con la tecnologia assistiva per impostazione predefinita.
Le proprietà che utilizziamo per controllare la focalizzazione da Apple potrebbero essere inaccurate quando un `accessibilityIdentifier` è impostato sull'immagine. A causa di questo comportamento inaspettato, i risultati per i problemi di Nome ImageView nelle app UIKit verranno riportati come Necessita Revisione. Un rapporto di bug è stato inviato ad Apple. (#1633)
Falso positivo: In Scroll View, Label In Name, Label at Front e v2.11.0 Nome Image View & NomeControlloAttivo
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 che si comportano come banner. Per rendere questi elementi disponibili a coloro che richiedono testo più grande, utilizza UILargeContentViewer. (#622)
v2.11.0 Image View Name & ActiveControlName
Se una UIImageView ha un `accessibilityIdentifier` impostato ma non è focalizzabile da VoiceOver e ha controlli focalizzabili annidati al suo interno, ActiveControlName potrebbe segnalare un falso positivo sulla UIImageView. Rimuovere il `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 aiutare a determinare lo stato della regola. In alcune gerarchie di visualizzazione, potrebbe essere rilevato il testo vicino errato causando il fallimento di queste regole. (#1622)
Axe DevTools Mobile per Android
Lo screenshot viene visualizzato come un riquadro nero nel dashboard
Per sbloccare la piena funzionalità di Axe DevTools per Mobile, assicurati che gli screenshot siano abilitati. Si consiglia di abilitare gli screenshot su una versione di debug o test della tua app che utilizzi 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, vedrai un arresto con un registro di errore che riporta che un adattatore non è stato trovato quando tenti 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 generano un errore
Un build con r8 abilitato può 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()?
Se incontri un errore del tipo `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` oppure `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, consulta il Compose setTestTag API.
Messaggio di log:MlKitContext has not been initialized
Se ricevi questo messaggio, alcuni risultati delle regole potrebbero non restituire come previsto quando quella regola utilizza l'intelligenza artificiale. Le regole interessate includono Contrasto del Colore, Testo Focalizzabile e Nome dell'Elemento Annidato. (#841)
MAUI: Regola Nome del Testo Modificabile
A causa delle limitazioni dell'architettura dell'app MAUI nel rendering nell'ecosistema Android, la regola Nome del Testo Modificabile verrà mostrata come Da Rivedere nel dashboard quando si sospetta un errore per la versione SDK 5.5.0 e successive. Conferma manualmente il comportamento corretto in questo caso.
Android Nativo: Dialoghi/Modali Personalizzati
Quando implementi dialoghi o modali personalizzati che non estendono i controlli nativi, potresti ottenere risultati per visualizzazioni dietro al modale. In questo caso, consigliamo di non eseguire il nostro strumento contro questi modali o dialoghi personalizzati e invece di controllarli manualmente per assicurarti che funzionino con la tecnologia assistiva come desiderato.
Dashboard di Axe DevTools Mobile
Screenshot Mancante
Se lo screenshot manca dalla pagina dei dettagli della scansione, la tua app potrebbe impedire la cattura degli screenshot. Spesso questo avviene per ragioni 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à nel Dashboard di Axe DevTools Mobile.
Alcuni nomi di scansioni Android sono non formattati
Alcuni nomi di scansioni Android che sono predefiniti al titolo dello schermo appariranno come il nome completo della classe, incluso l'identificatore del bundle. In un rilascio futuro, questo verrà 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)
Axe DevTools Mobile per Appium
Falsi Positivi: Nome della Vista Attiva, Spaziatura del Target Tocco
Stiamo lavorando attivamente su correzioni per i seguenti falsi positivi e aggiorneremo questa lista man mano che le correzioni verranno rilasciate.
Active View Name
A causa delle limitazioni delle informazioni disponibili tramite la piattaforma Appium, abbiamo identificato un falso positivo per Nome della Vista Attiva quando si utilizza la labeledBy proprietà per fornire un'etichetta per un elemento bottone.
Touch Target Spacing on iOS platform for SwiftUI & React Native apps
I controlli di dimensioni maggiori potrebbero non soddisfare la Spaziatura del Target Tocco quando superano il requisito minimo di 24pt x 24pt. (#411)
Falso Negativo: Azione Inaccessibile su Android React Native
Potresti ottenere risultati contraddittori per questa nuova regola quando esegui la scansione di app React Native sulla piattaforma Android. Alcune visualizzazioni avranno un elemento bottone annidato che causa un fallimento per il bottone genitore, ma un passaggio nel bottone figlio. (#407)
React Native: Nome Incluso nell'Etichetta & Etichetta Iniziale
A causa delle limitazioni delle informazioni disponibili tramite la piattaforma Appium, abbiamo identificato le regole Nome Incluso nell'Etichetta & Etichetta Iniziale che non riescono a essere eseguite per le app costruite con React Native. Stiamo esplorando soluzioni e ci aspettiamo una correzione in un futuro rilascio.
React Native e .NET MAUI: Visualizzazione Gerarchia Vista Mostra Schermo Precedente
A volte, la proprietà della pagina sorgente di Appium necessita di più tempo per aggiornarsi tra le scansioni. Se ciò accade, vedrai la gerarchia della vista dello schermo precedente quando usi la funzione di ispezione sul dashboard. Per risolvere, aggiungi un piccolo timeout prima di chiamare l'API della pagina sorgente per avviare la scansione dell'accessibilità. Esempio:
await driver.pause(1000);
const result = await driver.getPageSource();
Limitazione: Nome della Vista Immagine per Immagini Decorative in Android
A causa delle limitazioni delle informazioni disponibili tramite la piattaforma Appium, abbiamo identificato che la regola Nome della Vista Immagine non può verificare accuratamente i criteri di successo per le immagini decorative in Android. I risultati per le immagini senza un nome accessibile verranno visualizzati come 'Da Rivedere' nel dashboard per ulteriori analisi.
