Note di rilascio di Axe DevTools Mobile del 20 febbraio 2025
20 febbraio 2025
Versioni dei componenti
- iOS SDK (axeDevToolsXCUI v2.14.0)
- iOS Analyzer (axe-devtools-mobile-analyzer v1.4.8)
- iOS Appium Driver (axe-appium-xcuitest-driver v1.2.0)
Come aggiornare: iOS SDK, iOS Analyzer, iOS Appium Driver
Novità
iOS Appium Driver
La funzione Regole Ignora è ora disponibile per il driver iOS Appium! Consulta la nostra Documentazione delle Regole Ignora per Appium per informazioni sull'implementazione. Per saperne di più su come ignorare le regole durante l'esecuzione delle scansioni di accessibilità, consulta la nostra Documentazione di configurazione di Appium.
iOS SDK
Abbiamo reso i messaggi di registrazione della rete più descrittivi. In precedenza, tutti i log di successo includevano solo il messaggio 200 OK. Ora vedrai messaggi più descrittivi, come DEQUE LOG: 200 OK - User verified. Successfully logged in., stampati sulla console.
Correzioni iOS
- Miglioramenti alla precisione delle seguenti regole: Contrasto del colore, Testo associato, Etichetta nel nome e Etichetta davanti
Problemi conosciuti
Se riscontri uno dei problemi elencati di seguito, contattaci a helpdesk@deque.com o support.deque.com. Saremo in grado di notificarti una volta risolto o di un eventuale workaround identificato se non ne è elencato nessuno.
- 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à sulla tua tech stack.
- Sebbene tu possa ottenere alcuni risultati da visualizzazioni web o PDF resi, ti consigliamo vivamente di testare utilizzando Axe DevTools per il Web o Axe Monitor per il test di accessibilità più completo per il web.
iOS
Impossibile Eseguire Scansioni su Dispositivi Fisici con iOS Analyzer 1.4.7
Una configurazione nell'iOS Analyzer 1.4.7 impedisce l'esecuzione delle scansioni, restituendo il messaggio "Test Failed". Per eseguire scansioni su un dispositivo fisico, aggiorna all'ultimo progetto iOS Analyzer.
Errore nel Progetto Analyzer & Test per Bundle ID in 2.8.1
La funzionalità di test di un'applicazione tramite identificatore di bundle è stata interrotta nella versione 2.8.1, risultando in un errore intitolato "Nessun percorso dell'applicazione target specificato tramite configurazione del test: ...". Aggiorna alla 2.8.2 o all'ultima versione per risolvere l'errore. Aggiorna all'ultimo progetto iOS Analyzer.
Errore "Impossibile serializzare AxeResult" nel Progetto Analyzer v1.2.0 & SDK v2.12.3
La scansione di alcune applicazioni con questa versione dell'analyzer e dell'SDK comporterebbe un errore "Impossibile serializzare AxeResult". Aggiorna all'ultima versione per risolvere l'errore. Aggiorna all'ultimo progetto iOS Analyzer.Aggiorna all'ultimo iOS SDK.
False Positive: LabelInName e LabelAtFront in App SwiftUI e Cross Platform
Alcuni schermi possono segnalare falsi positivi con LabelInName e LabelAtFront a causa di una proprietà associatedText trovata erroneamente (#1622)
La regola Supporta Tipo Dinamico non funziona con il simulatore iOS 15 Pro
C'è un problema che riguarda il simulatore iPhone 15 Pro che impedisce l'esecuzione della regola Supporta Tipo Dinamico. Se sei iscritto alla regola Supporta Tipo Dinamico, non sarai in grado di testarla utilizzando un simulatore iPhone 15 Pro. È stato aperto un bug report con Apple.
Regole contro i Controlli Nidificati
Durante l'esame di un miglioramento per le nostre regole, abbiamo scoperto che in XCTest, i controlli nidificati non vengono restituiti nell'albero di accessibilità. È stato aperto un bug report con Apple. (#1110)
La Regola Name di ImageView richiede Revisione Risultati per App UIKit
Nelle app UIKit, un'immagine senza `accessibilityLabel` non è focalizzabile con assistive technology di default.
Le proprietà che usiamo per controllare la focalizzabilità di Apple potrebbero non essere accurate quando un `accessibilityIdentifier` è impostato sull'immagine. A causa di questo comportamento inatteso, i risultati per i problemi Name di ImageView nelle app UIKit verranno segnalati come Necessitano Revisione. È stato aperto un bug report con Apple. (#1633)
False Positive: In Scroll View, Label In Name, Label al Fronte, e v2.11.0 Image View Name & ActiveControlName
Stiamo lavorando attivamente su correzioni per i seguenti falsi positivi e aggiorneremo questo elenco non appena verranno rilasciate le correzioni.
In Scroll View
Potrebbe segnalare problemi per il testo all'interno di elementi che si comportano come banner. Per rendere disponibili questi elementi a coloro che richiedono testo più grande, utilizza UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Se una UIImageView ha un `accessibilityIdentifier` impostato ma non è focalizzabile da VoiceOver e ha controlli focalizzabili nidificati al suo interno, ActiveControlName potrebbe segnalare un falso positivo sulla UIImageView. Rimuovendo il `accessibilityIdentifier` si risolve il problema. È stato aperto un bug report con 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 visualizzazione, potrebbe essere rilevato il testo sbagliato nelle vicinanze, causando il fallimento di queste regole. (#1622)
Android
Spaziatura degli Obiettivi di Tocco e Jetpack Compose
La regola della Spaziatura degli Obiettivi di Tocco attualmente non è attiva su nessun componente slider scritto in Jetpack Compose. Al momento, non è possibile intervenire. Tuttavia, è in arrivo una soluzione!
Errore durante il salvataggio dei risultati localmente su API 30
Su Android API 30, uno dei percorsi in cui tentiamo di salvare i risultati localmente presenta un errore di autorizzazione. Il risultato verrà 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 dello Scroll 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 dallo schermo. Per testare un elemento per l'accessibilità, assicurati che sia completamente visibile sullo schermo prima di eseguire la scansione.
App Analyzer: il Pulsante di Azione Fluttuante Scompare
Introdotta con API 31 (Android 12) è la possibilità di nascondere 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, consigliamo di tenerlo disattivato per le build di test interne dove puoi utilizzare in modo sicuro dati di test ed eliminare in tal modo preoccupazioni 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 tutte le chiamate al metodo setHideOverlayWindows(true) a setHideOverlayWindows(false) sulle finestre delle attività interessate.
Screenshot Mancante (Rettangolo Nero) nel Cruscotto
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 comprimi la tua build, vedrai un crash con un log di errore che segnala che un adattatore non è stato trovato quando si tenta di accedere alla libreria Axe DevTools. Disabilita la minimizzazione per le build di debug con Axe DevTools implementato. (#729)
Le build con r8 abilitato generano un errore
Una 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)
o: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?
Le API di Compose sono deprecate, per favore utilizza le API indipendenti dal layout per continuare a ricevere aggiornamenti. Se continui a utilizzare le API di Compose e incontri un errore simile a `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` oppure `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, ti preghiamo di fare riferimento a Compose setTestTag API.
Messaggio di log:MlKitContext has not been initialized
Se incontri questo messaggio, alcuni risultati delle regole potrebbero non restituire come previsto quando quella regola utilizza intelligenza artificiale. Le regole interessate includono Contrasto del Colore, Testo Focalizzabile e Nome dell'Elemento Annidato. (#841)
MAUI: Regola del Nome del Testo Modi
A causa delle limitazioni dell'architettura dell'app MAUI nel rendering nel sistema operativo Android, la regola del Nome del Testo Modi verrà mostrata come Da Revisionare nel cruscotto quando si sospetta un fallimento per la versione SDK 5.5.0 e successive. Ti preghiamo 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 questo caso, consigliamo di non eseguire il nostro strumento contro questi modali o dialoghi personalizzati e invece controllarli manualmente per assicurarsi che si comportino come desiderato con la tecnologia assistiva.
Cruscotto Web
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 motivi di sicurezza nella tua applicazione di produzione. Considera di rimuovere questo requisito per la tua build di test per consentire la piena funzionalità nel Cruscotto Mobile di Axe DevTools.
Alcuni nomi di scansioni Android sono non formattati
Alcuni nomi di scansioni Android che vengono impostati di default sul titolo dello schermo appariranno come nome completo della classe, incluso l'identificatore del pacchetto. In una futura versione, questo problema verrà risolto in modo che il titolo dello schermo sia formattato in un nome più leggibile. Come soluzione provvisoria, puoi impostare il nome della scansione dal cruscotto o dai framework. (#1643)
