Note di rilascio di Axe DevTools Mobile del 16 gennaio 2025
16 gennaio 2025
Versioni dei componenti
- SDK iOS (axeDevToolsXCUI v2.13.0)
- Analizzatore iOS (axe-devtools-mobile-analyzer v1.4.5)
- Driver Appium per iOS (axe-appium-xcuitest-driver v1.1.0)
Come aggiornare: SDK iOS, Analizzatore iOS, Driver Appium per iOS
Correzioni
- Aggiornamenti per migliorare le prestazioni e la precisione delle seguenti regole: Testo Associato, Contrasto Colore, Attributi Contraddittori, Azione Inaccessibile, In Vista Scorrevole, Etichetta Nel Nome, Etichetta Davanti, Nome Elementi Annidati
- La versione minima di iOS supportata è ora iOS 16
- Corretto il problema con la funzione Ignora Regole, specificamente ignorando per identificativo di accessibilità con SwiftUI
Problemi Noti
Se stai riscontrando uno dei seguenti problemi, ti preghiamo di contattarci a helpdesk@deque.com o support.deque.com. Ti notificheremo quando sarà risolto o di una soluzione alternativa identificata se nessuna è elencata.
- I test automatizzati di Axe DevTools Mobile girano su applicazioni iOS native, Android native e React Native. Si prega di contattare il proprio rappresentante Deque per soluzioni di test di accessibilità sulla propria tecnologia.
- Anche se potresti ottenere alcuni risultati da viste web o PDF renderizzati, ti consigliamo vivamente di testare utilizzando Axe DevTools per Web o Axe Monitor per il test di accessibilità più completo sul web.
iOS
Errore nel Progetto Analizzatore e Test tramite ID Bundle in 2.8.1
La funzionalità di testare un'applicazione tramite identificatore di bundle è stata compromessa nella versione 2.8.1 causando un errore intitolato "Percorso dell'applicazione di destinazione non specificato tramite configurazione del test: ...". Aggiorna alla versione 2.8.2 o all'ultima versione per risolvere l'errore. Aggiorna all'ultima versione all'interno del progetto Analizzatore iOS.
Falso Positivo: LabelInName e LabelAtFront in SwiftUI & App Cross-Platform
Alcuni schermi possono riportare falsi positivi con LabelInName e LabelAtFront a causa di una proprietà associatedText errata (#1622)
La regola Supports Dynamic Type non funziona con il simulatore iOS 15 Pro
C'è un problema che interessa il simulatore iPhone 15 Pro che impedisce alla regola Supports Dynamic Type di funzionare. Se sei iscritto alla regola Supports Dynamic Type, non sarai in grado di testarla utilizzando un simulatore iPhone 15 Pro. È stato presentato un bug ad Apple.
Regole contro Controlli Annidati
Durante l'esame di un miglioramento per le nostre regole, abbiamo scoperto che in XCTest, i controlli annidati non vengono restituiti nell'albero di accessibilità. È stato presentato un bug ad Apple. (#1110)
La regola Nome ImageView ha bisogno di una revisione dei 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 verificare la focalizzabilità da Apple possono essere inaccurate quando viene impostato un `accessibilityIdentifier` sull'immagine. A causa di questo comportamento inatteso, i risultati per i problemi Nome ImageView nelle app UIKit saranno segnalati come Richiede Revisione. È stato presentato un bug ad Apple. (#1633)
Falso Positivo: In Scroll View, Label In Name, Label at Front, e v2.11.0 Nome Visualizzazione Immagine & NomeControlloAttivo
Stiamo lavorando attivamente su correzioni per i seguenti falsi positivi e aggiorneremo questa lista man mano che le correzioni verranno 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 necessita di testi più grandi, utilizza UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Se un UIImageView ha un `accessibilityIdentifier` impostato ma non è focalizzabile da VoiceOver, e possiede controlli focalizzabili annidati al suo interno, NomeControlloAttivo potrebbe segnalare un falso positivo sull'UIImageView. Rimuovendo l'`accessibilityIdentifier` si risolve il problema. È stato presentato 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 delle regole. In alcune gerarchie di visualizzazione, potrebbe essere rilevato un testo vicino errato causando il fallimento di queste regole. (#1622)
Android
Errore durante il salvataggio dei risultati localmente su API 30
Su Android API 30, una delle posizioni in cui tentiamo di salvare i risultati localmente presenta un errore di permessi. Il risultato sarà comunque salvato come file JSON nonostante questo errore venga visualizzato. 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 scorrimento su App Ibride e App Cross-Platform
In alcune app ibride e multipiattaforma, potremmo restituire risultati inattesi quando gli elementi in una vista scorrevole sono parzialmente fuori schermo. Per testare un elemento per l'accessibilità, assicurati che sia completamente visibile prima di eseguire la scansione.
App Analyzer: Pulsante di Azione Fluttuante Scompare
Con l'API 31 (Android 12) è stata introdotta la possibilità di nascondere le sovrapposizioni non di sistema. Per 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 interni dove puoi utilizzare in sicurezza i dati di test ed eliminare in questo modo le preoccupazioni sulla 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 eventuali chiamate al metodo setHideOverlayWindows(true) a setHideOverlayWindows(false) sulle finestre delle attività interessate.
Screenshot Mancante (Scatola Nera) nella 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, noterai un crash con un registro di errori che segnala che un adattatore non è stato trovato durante il tentativo di accesso 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 risultando in 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 di Compose sono deprecate, si prega di utilizzare le API indipendenti dal layout per continuare a ricevere 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 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 interessate includono Contrasto di Colore, Testo Focabile e Nome Elemento Annidato. (#841)
MAUI: Regola Nome Testo Modificabile
A causa delle limitazioni dell'architettura delle app MAUI nel render sui sistemi Android, la regola Nome Testo Modificabile sarà mostrata come Bisogno di Revisione nel cruscotto quando è sospettato un fallimento per la versione SDK 5.5.0 e successive. Si prega di confermare manualmente il corretto comportamento in questo caso.
Android Nativo: Dialoghi / Modali Personalizzati
Quando implementi dialoghi personalizzati o modali che non estendono i controlli nativi, potresti ottenere risultati per viste dietro il modal. In questo caso, consigliamo di non eseguire il nostro strumento contro questi modali o dialoghi personalizzati e invece di controllarli manualmente per garantire che si comportino come previsto con la tecnologia assistiva.
Dashboard Web
Screenshot Mancante
Se lo screenshot manca dalla pagina dei dettagli della scansione, la tua app potrebbe impedire che vengano fatti screenshot. Spesso questo avviene per motivi di sicurezza nella tua applicazione di produzione. Considera l'idea di rimuovere questo requisito per il tuo build di test per consentire la piena funzionalità nella Dashboard Mobile di Axe DevTools.
Alcuni nomi delle scansioni Android sono non formattati
Alcuni nomi delle scansioni Android che predefiniti al titolo dello schermo appariranno come il nome completo della classe incluso l'identificatore del pacchetto. In un futuro rilascio, 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 dal cruscotto o dai framework. (#1643)
