Note di Rilascio di Axe DevTools Mobile Giugno 2023
15 giugno 2023
Versioni dei Componenti
- axeDevToolsUIKit v3.5.0
- axeDevToolsXCUI v2.5.0
Novità?
Axe DevTools Mobile per iOS
Abbiamo migliorato le descrizioni dei problemi visualizzate sulla dashboard. Ora descriveranno in modo più preciso il problema esatto rilevato, quando disponibile, invece di una descrizione generale della regola.
Il framework axeDevToolsXCUI supporta ora la scansione delle app mentre sono in orientamento orizzontale.
Correzioni di Bug
Axe DevTools Mobile per iOS
- Corretto il rilevamento di falsi positivi nella regola A11yElementFocusBox per le visualizzazioni che sono parzialmente fuori schermo
- Aggiornata la regola di Spaziatura Destinazioni Touch per incorporare le modifiche nel criterio di successo WCAG a partire dalla Raccomandazione Candidato 3
- Il testo fuori schermo che non è focalizzabile sarà ora inapplicabile per la regola Testo Focalizzabile
- I WebView non solleveranno più problemi In Scroll View perché sono già scorrevoli
- Aggiornata la regola delle Visualizzazioni Collidenti per migliorare i risultati quando il testo non è elaborato correttamente con il riconoscimento ottico dei caratteri.
- Apportate varie migliorie al modo in cui le UISearchBar sono gestite dalle regole
Dashboard di Axe DevTools Mobile
- Conservare il nome e i tag della scansione quando si carica una scansione precedentemente esportata [20293]
- Risolto un problema in cui gli utenti non riuscivano ad applicare le impostazioni se due elementi erano selezionati nelle sezioni di filtraggio dei problemi e delle regole sperimentali [24629]
- Risolto un problema che causava lo sfarfallio dei grafici nella pagina di riepilogo delle scansioni dietro i riquadri dei problemi trovati
- Corretta la barra degli strumenti delle azioni di massa che sfarfallava quando si selezionavano scansioni su Firefox
- Risolto un errore che si verificava quando si eliminavano più scansioni su più pagine
- Reso il modulo degli annunci scorrevole
- Disabilitati i pulsanti di filtro, ordinamento e caricamento mentre la tabella è in caricamento
- Riattivato l'ordinamento in base al numero di problemi
- Assicurato che i caricamenti siano correttamente annunciati ai lettori di schermo
- Le scansioni iPadOS ora mostreranno i risultati delle regole sperimentali con lo stile appropriato
- Abbreviato il nome dell'app nella tabella in modo che sia meno probabile che si verifichi lo scorrimento orizzontale [24404]
Aggiornamenti
Abbiamo annunciato la deprecazione dell'app desktop Axe DevTools Mobile nel rilascio di novembre 2022, pertanto abbiamo rimosso i metodi API di connessione in questo rilascio dei framework iOS. Se stai ancora utilizzando l'app desktop e hai bisogno di supporto, contatta il tuo rappresentante Deque, invia una richiesta su support.deque.com, oppure invia un'email a helpdesk@deque.com.
Problemi Conosciuti
Se stai riscontrando uno dei problemi sottoelencati, ti preghiamo di contattarci a helpdesk@deque.com o support.deque.com. Saremo in grado di informarti una volta risolto oppure di un workaround identificato se nessuno è elencato.
- I test automatizzati di Axe DevTools Mobile vengono eseguiti su applicazioni native iOS, Android native e React Native. Si prega di contattare il proprio rappresentante Deque per soluzioni di test di accessibilità sul proprio stack tecnologico.
- Le regole non si attiveranno in web view o PDF resi. Per testare i contenuti HTML, si prega di utilizzare Axe DevTools for Web. Axe Monitor supporta la scansione dei PDF per l'accessibilità.
Axe DevTools Mobile per iOS
axeDevToolsUIKit.xcframework
Le visualizzazioni costruite con SwiftUI non possono essere testate usando questo framework
Utilizzare il framework axeDevToolsXCUI in UITesting per le visualizzazioni SwiftUI.
Il supporto delle regole personalizzate è disponibile solo in Swift
L'API delle regole personalizzate non è aperta a Objective-C.
Falsi Positivi: InScrollView, SupportsDynamicType, Visualizzazioni Collidenti
Stiamo lavorando attivamente a correzioni per i seguenti falsi positivi e aggiorneremo questa lista man mano che le correzioni saranno rilasciate.
InScrollView
InScrollView potrebbe segnalare problemi per testo all'interno di elementi che si comportano come banner. Per rendere questi elementi accessibili a chi necessita di testo più grande, utilizzare UILargeContentViewer.
SupportsDynamicType
Potresti vedere falsi positivi nei seguenti scenari:
- Se si utilizza il
UIContentSizeCategoryDidChangenotifica, il framework potrebbe erroneamente segnalare che il testo non risponde a Dynamic Type nei UITests. - Se si utilizza
NotificationCenter.default.addObserver(forName:.., object:.., queue:.., using:..)per rispondere allaUIContentSizeCategoryDidChangenotifica. - Se si utilizza
traitCollectionDidChangesu una vista padre del testo o sul view controller per rispondere a Dynamic Type.
When a scrollable subview contains text, and that subview does not span to the edge of the screen's bounds, you will see failures for text located within the view's bounds.
axeDevToolsXCUI.xcframework
SwiftUI Picker e UIKit Picker
Le viste Picker in SwiftUI e UIKit potrebbero causare il blocco del framework su simulatori o dispositivi.
Falsi Positivi: A11yElementFocusBox, InScrollView, Colliding Views
Stiamo lavorando attivamente su correzioni per i seguenti falsi positivi e aggiorneremo questa lista man mano che le correzioni verranno rilasciate.
A11yElementFocusBox
Per le viste fuori dallo schermo, questa regola potrebbe erroneamente segnalare che il riquadro di messa a fuoco di VoiceOver non racchiude la vista.
InScrollView
InScrollView potrebbe segnalare problemi per il testo all'interno di elementi che si comportano come banner. Per rendere questi elementi disponibili a chi necessita di testo più grande, utilizzare UILargeContentViewer.
Colliding Views
Quando una sottovista scrollabile contiene testo e questa sottovista non si estende fino al bordo dello schermo, si verificheranno errori per il testo situato all'interno dei limiti della vista.
Falso Negativo: Testo Focalizzabile in iOS 13 fino a iOS 14.8.1
Gli elementi contrassegnati come non-accessibilità potrebbero non segnalare risultati corretti a causa di un bug nel framework di Apple.
Axe DevTools Mobile per Android
Crash utilizzando Proguard
Se nella tua build di debug o test stai utilizzando Proguard, segui i passaggi per ignorare Deque nelle impostazioni di Proguard.
Errori di Compilazione con Java8 Project e Axe DevTools Android 3.1.0
Prova i seguenti import:
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 potrebbe tentare di ridurre 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 simile a `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)`, ti preghiamo di contattarci a helpdesk@deque.com o support.deque.com per assistenza. In determinate condizioni, potrebbero esistere due nodi Compose root contemporaneamente.
Dashboard Mobile di Axe DevTools
Alcuni nomi di scansioni Android non sono formattati
Alcuni nomi di scansioni Android predefiniti come titolo dello schermo appariranno come il nome completo della classe inclusivo dell'identificatore del bundle. In una versione futura, questo sarà risolto affinché 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
