Note di rilascio di Axe DevTools Mobile - 18 ottobre 2023

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

18 ottobre 2023

Not for use with personal data

Versioni dei componenti

  • axeDevToolsXCUI v2.8.0
  • axe-devtools-android v4.2.0

Novità?

Supporto per WCAG 2.2

WCAG 2.2 è stato ufficialmente rilasciato il 5 ottobre. La nostra regola "Touch Target Spacing" è stata promossa dallo stato Sperimentale. Questa regola è conforme a WCAG 2.2. 2.5.8 e garantisce che i target abbiano una dimensione minima o una spaziatura sufficiente intorno a loro. Questo è importante per le persone con disabilità fisiche che non possono cliccare su piccoli pulsanti vicini tra loro. Scopri di più su Rilascio di WCAG 2.2. Consulta la documentazione per la Regola di spaziatura dei target touch per iOS e la Regola di spaziatura dei target touch per Android.

Lo sapevi? La regola di Spaziatura dei Target Touch (WCAG 2.2, 2.5.8) raggiunge gli standard AA, mentre la regola di Dimensione dei Target Touch (WCAG 2.1, 2.5.5) raggiunge gli standard AAA. Per i controlli importanti, WCAG raccomanda di puntare alla regola più severa, quella di Dimensione dei Target Touch, per raggiungere gli standard AAA. Deque raccomanda inoltre di puntare alla regola più severa sui dispositivi mobili poiché assicura la conformità con la linea guida di Apple di 44ptx44pt e si allinea più strettamente con la linea guida di Google di 48dpx48dp per garantire che non ci siano problemi quando si sottopone l’app agli app store.

Cambio Importante - Scansione Solo delle Viste Visibili

Axe DevTools Mobile ora eseguirà la scansione solo delle viste visibili all'utente al momento della scansione. In precedenza, il default era di scansionare tutte le viste, anche quelle fuori schermo o nascoste da altre viste.

Come migliorano i risultati?

  • Scansionando solo ciò che è visibile all'utente, i risultati riflettono più accuratamente l'esperienza utente di qualcuno con una disabilità o che utilizza tecnologie assistive. Qualsiasi cosa dietro una finestra di dialogo o modale che non può essere raggiunta dall'utente o dalla tecnologia assistiva non verrà scansionata.
  • Le regole di visione artificiale, come il contrasto colore, non vengono eseguite su viste fuori schermo, quindi in precedenza, le viste fuori schermo ricevevano solo risultati da un insieme limitato di regole. Scansionando solo le viste all'interno dei limiti dello schermo, si può essere certi che qualsiasi vista scansionata stia beneficiando dell'intero insieme di regole.

Cosa significa questo per il tuo team?

Se attualmente hai le caselle per Filtro delle problematiche nella Dashboard deselezionate, non noterai alcuna differenza nei risultati della tua Dashboard. Le viste che non sono visibili all'utente sono già escluse dai tuoi risultati.

Altrimenti, una volta aggiornato a axeDevToolsXCUI v2.8.0 e axe-devtools-android v4.2.0:

  • Le viste che sono nascoste dietro altre viste, come modali o popup, non avranno risultati di accessibilità.
  • Le viste fuori schermo, come quelle sopra o sotto la posizione di scorrimento corrente, non avranno risultati di accessibilità.
    • Suggerimento: Effettua una scansione in ogni posizione di scorrimento di una lunga schermata per garantire di catturare tutti i problemi di accessibilità. Ad esempio, se la schermata iniziale della tua app si estende su 3 schermate, dovresti effettuare 3 scansioni come mostrato di seguito:
      Screenshot of the Dashboard with 3 scans for the home screen. One at the top scroll position, named Home - Scroll 1. One at the middle scroll position, named Home - Scroll 2. One at the bottom scroll position, named Home - Scroll 3.
    • Per le schermate lunghe con un tipo di vista ripetuto, come una lista, potrebbero non essere necessarie più scansioni in ogni posizione di scorrimento. Una singola scansione della prima area visibile probabilmente catturerà i problemi di accessibilità ricorrenti.

iOS

  • La Regola di Testo Associato è stata promossa fuori dallo stato sperimentale. Questa regola assicura che un controllo ottenga il suo nome accessibile da un'etichetta vicina disponibile per le tecnologie assistive come VoiceOver e Voice Control.
  • La Regola di Contrasto Colore ha ricevuto un miglioramento per ottenere una dimensione stimata del carattere e migliorare ulteriormente l'accuratezza dei risultati. Questo cambiamento significa che i risultati per alcuni scenari ora segnaleranno lo stato di 'Passato' o 'Fallito' invece di 'Richiede Revisione'.

Android

  • Cambiamento Importante nelle Regole Personalizzate - L'interfaccia per l'esecuzione delle regole personalizzate in Android ha ricevuto un aggiornamento per restituire un oggetto RunRuleResult invece di un tipo String. Visualizza un esempio completo del cambiamento o maggiori informazioni su regole personalizzate in Android.
  • Dopo un'attenta revisione, abbiamo deciso di rimuovere le regole sperimentali delle viste nascoste dalla nostra libreria - Messa a fuoco delle Viste Attive Nascoste e Messa a fuoco delle Viste Informative Nascoste. Queste regole sperimentali hanno attraversato molte iterazioni mentre raccoglievamo feedback per due anni. Abbiamo scoperto che automatizzare queste regole ha il potenziale di restituire falsi positivi, e quindi abbiamo deciso di rimuoverle dal nostro set di regole automatiche per sostenere il nostro impegno verso 0 falsi positivi. Con questa versione, abbiamo spostato le regole delle viste nascoste allo stato di "ignorate". Non appariranno più nel conteggio dei risultati "falliti" o "passati". Nella nostra prossima versione (data da determinare) saranno completamente rimosse dalla libreria.
  • Abbiamo aggiunto riassunti più descrittivi alle regole per descrivere meglio perché sono contrassegnate come Passate, Fallite o Richiedono Revisione.
  • Le API di Compose ora accettano ComposeEmptyTestRule per avviare un'attività utilizzando ActivityScenario. Questo può essere più semplice rispetto all'uso di AndroidComposeTestRule, specialmente quando si usano insieme viste XML e Compose. Scopri di più sull'uso della regola di Test Vuoto di Compose.
  • Con questo rilascio, abbiamo aggiornato dalla versione 1.7 di Kotlin alla 1.9 per garantire che le nostre librerie rimangano compatibili con le versioni più recenti di Jetpack Compose. La versione 1.9 di Kotlin ha compatibilità retroattiva con Kotlin 1.8 e superiori. Se la tua app si basa su una versione di Kotlin inferiore alla 1.8, continua a usare axe-devtools-android v4.1.0 o inferiore.
  • Abbiamo eseguito l'aggiornamento da Moshi 1.12.0 a 1.15.0 e da Jetpack Compose 1.4.3 a 1.5.1.

Correzioni di bug

iOS

  • La Spaziatura dei Target Touch ha ricevuto alcuni aggiornamenti per gestire i casi limite di controlli nascosti ed elementi completamente sovrapposti.
  • Miglioramenti al rilevamento degli elementi di accessibilità nei casi limite che miglioreranno l'accuratezza dei risultati per varie regole di test dei controlli.
  • La regola Supporta il tipo dinamico non verrà eseguita su controlli senza testo visibile.
  • Il framework non si blocca più sugli elementi Picker. Non sono attese modifiche nei risultati poiché attualmente non ci sono regole mirate sugli elementi Picker. Cercheremo opportunità in futuro.

Android

  • Abbiamo aggiunto proprietà leggibili dall'uomo all'orientamento dello schermo nei valori analizzati per la regola dell'Orientamento dello Schermo. In precedenza, questi erano valori interi che non potevano essere facilmente compresi dalla persona che esaminava i risultati.
  • Puoi ora aggiornare l'elenco delle regole personalizzate quando usi la scansione indipendente dal layout tramite il Registro di Strumentazione.

Dashboard

  • Miglioramenti all'accessibilità della vista ad albero nella funzionalità "Ispeziona". Ora puoi navigare con successo nella vista ad albero utilizzando una tastiera o tecnologie assistive.

Problemi Conosciuti

Se riscontri uno dei seguenti problemi, contattaci a helpdesk@deque.com o support.deque.com. Saremo poi in grado di avvisarti una volta risolto o di un workaround identificato se non già elencato.

important
  • I test automatizzati 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 tecnologia.
  • Anche se puoi ottenere alcuni risultati da visualizzazioni web o PDF resi, raccomandiamo vivamente di testare utilizzando Axe DevTools per Web o Axe Monitor per il test di accessibilità più completo per il web.

Axe DevTools Mobile per iOS

La regola Supports Dynamic Type non funziona con il simulatore iOS 15 Pro

C'è un problema che riguarda il simulatore iPhone 15 Pro che impedisce l'esecuzione della regola Supports Dynamic Type. Se hai scelto la regola Supports Dynamic Type, non sarai in grado di testarla utilizzando un simulatore iPhone 15 Pro. È stato segnalato un bug ad Apple.

Regole contro i controlli nidificati

Mentre osservavamo un miglioramento per le nostre regole, abbiamo scoperto che in XCTest, i controlli nidificati non vengono restituiti nell'albero dell'accessibilità. È stato segnalato un bug ad Apple. (#1110)

Falso Positivo: In Scroll View, ActiveControlName

Stiamo lavorando attivamente sui seguenti falsi positivi e aggiorneremo questo elenco man mano che verranno rilasciate le correzioni.

In Scroll View
Potrebbe segnalare problemi per il testo all'interno di elementi comportanti come banner. Per rendere disponibili questi elementi a chi richiede testo più grande, usa UILargeContentViewer. (#622) ActiveControlName
Se un UIImageView ha impostato un `accessibilityIdentifier` ma non è focalizzabile da VoiceOver, e ha controlli focalizzabili nidificati al suo interno, ActiveControlName potrebbe segnalare un falso positivo sull'UIImageView. Rimuovere il `accessibilityIdentifier` risolve il problema. È stato segnalato un bug ad Apple. (#1226)

Falso Negativo: Nome Vista Immagine, Testo Focalizzabile in iOS 13 fino a iOS 14.8.1

Stiamo lavorando attivamente sui seguenti falsi negativi e aggiorneremo questo elenco man mano che verranno rilasciate le correzioni.

Image View Name
Se un UIImageView ha impostato un `accessibilityIdentifier` ma non è focalizzabile da VoiceOver, ImageViewName potrebbe segnalare un falso negativo sull'UIImageView. Rimuovere il `accessibilityIdentifier` risolve il problema. È stato segnalato un bug ad Apple. (#1226) Focusable Text
Gli elementi contrassegnati come elementi non accessibili possono riportare risultati scorretti a causa di un bug nel framework di Apple.

Axe DevTools Mobile per Android

Crash quando si utilizza Proguard

Se la tua build di debug o test utilizza Proguard, segui i passaggi per ignorare Deque nelle impostazioni di Proguard.

Crash quando `minifiedEnabled` è impostato su true

Se minimizzi la tua build, vedrai un crash con un log di errore che riporta che un adattatore non poteva essere trovato quando si tenta di accedere alla libreria Axe DevTools. Disabilita la minimizzazione per le tue build di debug con Axe DevTools implementato. (#729)

Errori di compilazione con Java8 Project e Axe DevTools Android 3.1.0

Prova le seguenti importazioni:

implementation 'androidx.core:core-ktx:1.9.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'
	
After importing the above library, if you see errors related to minSDK version for core-ktx library try the following in your project’s Android Manifest:
<uses-sdk tools:overrideLibrary="androidx.core" />

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)

Se incontri 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, possono esistere due nodi di root Compose contemporaneamente.

Dashboard Axe DevTools Mobile

Alcuni nomi di scansioni Android sono non formattati

Alcuni nomi di scansioni Android predefiniti al titolo dello schermo appariranno come il nome completo della classe incluso l'identificatore del bundle. In un prossimo rilascio, questo sarà 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)