axe DevTools Mobile Note sulla versione dell'8 ottobre 2024

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

8 Ottobre 2024

Not for use with personal data

Versioni dei componenti

  • SDK Android (axe-devtools-android v5.6.0)
  • Analizzatore Android (axe Accessibility Analyzer v1.9.0)
  • Driver Android Appium (axe-appium-uiautomator2-driver v1.1.0)

Come aggiornare: Android SDK, Android Analyzer Android Appium Driver

Cosa c'è di nuovo?

Regola di azione inaccessibile

Abbiamo rinominato Visualizzazione accessibile inattiva in Azione inaccessibile per adattarla alla denominazione della regola per iOS. Abbiamo anche deciso di contrassegnare questa regola come sperimentale, in modo da poter migliorare l'accuratezza dei risultati per entrambe le piattaforme.

Correzioni

  • Aggiornamenti per migliorare le prestazioni e la precisione delle seguenti regole: Contrasto colore, Dimensioni target touch, Etichetta nel nome, Etichetta all'inizio, Nome del campo di testo e Controllo attivo nidificato
  • Aggiunto il nome della classe della vista sovrapposta ai valori analizzati per la regola Touch Target Spacing per facilitare il debug
  • Descrizioni dei risultati riviste per renderle più descrittive e fornire una guida migliore su come risolvere i problemi per le regole Azione inaccessibile ed Etichetta all'inizio
  • Miglioramento della stabilità e dell'affidabilità del servizio di accessibilità. L'app non richiederà più le autorizzazioni ogni volta che viene utilizzata
  • Richieste di rete ottimizzate per il caricamento dei risultati sulla dashboard
  • Migliorata la gestione degli errori di autenticazione nel driver Appium

Deprecazioni

Dopo un'attenta riflessione, ci stiamo muovendo verso un'implementazione semplificata di axe DevTools per Android che comporterà in futuro la dismissione delle API XML e Compose. Sebbene questa transizione non avverrà dall'oggi al domani, invitiamo i clienti a passare gradualmente alle API agnostiche rispetto al layout per un supporto continuo e l'accesso agli ultimi 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.

important
  • 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)