axe DevTools Mobile 30. August 2023 Versionshinweise
30. August 2023
Komponentenversionen
- axeDevToolsXCUI v2.7.0
- axe-devtools-android v4.1.0
- axe DevTools Reporter CLI v4.7.0
Was ist neu?
WCAG 2.2 hat derzeit den Status Vorgeschlagene Empfehlung. Ergebnisse aus der WCAG 2.2-Regel „Abstand zwischen Touch-Zielen“ werden als experimentell gekennzeichnet, bis WCAG 2.2 den Status „Empfehlung“ erreicht. Dies bedeutet, dass die Ergebnisse aus dieser Regel nun in Ihren Ergebniszählungen für „Nicht bestanden“, „Bestanden“ und „Benötigt Überprüfung“ unter der Überschrift „Experimentell“ angezeigt werden. (Diese Regel erschien zuvor in der Zählung „Ignoriert“.) Sie können experimentelle Regeln auch deaktivieren, wenn Sie dies bevorzugen. Erfahren Sie mehr über experimentelle Regeln.
Android
- Sie können jetzt Regeln in Ihren automatisierten UI-Tests (Espresso oder UI Automator) mithilfe des View-ID-Ressourcennamens ignorieren. Verwenden Sie dies, um Regeln beim Übergeben in das Instrumentierungsregister zu ignorieren.
iOS
– Die Regel Unzugängliche Aktion ist jetzt Teil des axe DevTools XCUI-Frameworks.
Reporter CLI
- Sie können Berichte jetzt zusätzlich zu HTML auch im CSV- und JUnit-XML-Format speichern. Erfahren Sie mehr über die axe DevTools Reporter CLI.
Fehlerbehebungen
iOS
- Verbesserte Ergebnisgenauigkeit, wenn Steuerelemente deaktiviert sind.
– Die Regel „Farbkontrast“ wurde aktualisiert, um sicherzustellen, dass sie nicht bei abgedunkelten Ansichten hinter einem Modal ausgeführt wird.
- Kombinierte Scan-Namens- und Tag-Update-Aufrufe in einer Netzwerkanfrage zur Verbesserung der Leistung.
Android
- UI-Automator-Tests warten jetzt, bis die Fensteraktualisierung abgeschlossen ist, bevor sie gescannt werden, um die Aufnahme eines veralteten Screenshots zu vermeiden.
- Ein falsch positives Ergebnis in der Regel „Textnamen bearbeiten“ für Compose wurde behoben. Diese Regel meldet keinen Fehler mehr, wenn ein Compose-TextField eine Bezeichnung enthält.
- Die Regel „Textwert bearbeiten“ wurde korrigiert, sodass sie auf alle Compose TextField-Elemente angewendet wird.
– Ein Berechnungsproblem mit der Regel „Touch Target Spacing“ wurde behoben.
Übersicht
– Ein Problem der letzten Version wurde behoben, das dazu führte, dass sich die Reihenfolge der Probleme innerhalb der Scans änderte.
Aktualisierungen
Erinnerung: Ab dem 16. August 2023 veröffentlichen wir keine Updates mehr für das UIKit-Framework zum automatisierten Testen von iOS-Apps. Wir werden dieses Framework auf absehbare Zeit weiterhin anbieten, jedoch keine Bugfixes oder Updates mehr durchführen. Wir empfehlen Ihnen, auf das XCUI-Framework umzusteigen, das künftig mit neuen Regeln und Verbesserungen aktualisiert wird. Wenn Sie derzeit das UIKit-Framework für automatisierte Unit- oder UI-Tests verwenden und Unterstützung beim Übergang zum XCUI-Framework wünschen, lassen Sie es uns bitte wissen. Senden Sie eine Anfrage an support.deque.com oder senden Sie eine E-Mail an helpdesk@deque.com.
Bekannte Probleme
Wenn bei Ihnen eines der folgenden Probleme auftritt, kontaktieren Sie uns bitte unter helpdesk@deque.com oder support.deque.com. Wir können Sie dann benachrichtigen, sobald das Problem behoben ist, oder Ihnen einen Workaround empfehlen, falls keiner aufgeführt ist.
- Automatisierte Tests von axe DevTools Mobile laufen auf nativen iOS-, nativen Android- und React Native-Apps. Bitte wenden Sie sich für Lösungen zum Testen der Barrierefreiheit für Ihren Tech-Stack an Ihren Deque-Vertreter.
- Um Sie dabei zu unterstützen, genaue Ergebnisse und anwendbare Sanierungsempfehlungen zu erhalten, werden die Funktionen von Axe DevTools Mobile nicht in Webansichten oder gerenderten PDFs ausgeführt. Um HTML-Inhalte zu testen, verwenden Sie bitte axe DevTools for Web. axe Monitor unterstützt das Scannen von PDFs auf Barrierefreiheit.
axe DevTools Mobile für iOS
axeDevToolsUIKit.xcframework
Mit SwiftUI erstellte Ansichten können mit diesem Framework nicht für automatisierte Tests getestet werden.
Verwenden Sie das axeDevToolsXCUI-Framework in UITesting für SwiftUI-Ansichten.
Die Unterstützung benutzerdefinierter Regeln ist nur in Swift verfügbar
Die benutzerdefinierte Regel-API steht Objective-C nicht zur Verfügung.
Falschpositive: InScrollView, SupportsDynamicType, kollidierende Ansichten
Wir arbeiten aktiv an der Behebung der folgenden Fehlalarme und aktualisieren diese Liste, sobald Korrekturen veröffentlicht werden.
InScrollView
InScrollView meldet möglicherweise Probleme mit Text innerhalb von Banner-ähnlichen Elementen. Um diese Elemente für Nutzer mit Bedarf an größerem Text verfügbar zu machen, verwenden Sie UILargeContentViewer
.
SupportsDynamicType
In den folgenden Szenarien werden möglicherweise falsche Positivergebnisse angezeigt:
- Bei Verwendung der
UIContentSizeCategoryDidChange
Benachrichtigung meldet das Framework möglicherweise fälschlicherweise, dass der Text in UITests nicht auf den dynamischen Typ reagiert. - Wenn Sie
NotificationCenter.default.addObserver(forName:.., object:.., queue:.., using:..)
verwenden, um auf dieUIContentSizeCategoryDidChange
Benachrichtigung zu antworten. - Bei Verwendung von
traitCollectionDidChange
in der übergeordneten Ansicht oder im Ansichtscontroller eines Textes, um auf den dynamischen Typ zu reagieren.
Wenn eine scrollbare Teilansicht Text enthält und diese Teilansicht nicht bis zum Rand der Bildschirmränder reicht, werden Fehler für Text angezeigt, der sich innerhalb der Grenzen der Ansicht befindet.
axeDevToolsXCUI.xcframework
SwiftUI Picker und UIKit Picker
Picker-Ansichten in SwiftUI und UIKit können dazu führen, dass das Framework auf Simulatoren oder Geräten hängen bleibt. (#636)
Regeln gegen verschachtelte Steuerelemente
Bei der Suche nach einer Verbesserung unserer Regeln haben wir festgestellt, dass in XCTest verschachtelte Steuerelemente nicht im Zugänglichkeitsbaum zurückgegeben werden. Ein Fehler wurde bei Apple gemeldet. (#1110)
Falsch-Positiv: In der ScrollView, ActiveControlName
Wir arbeiten aktiv an der Behebung der folgenden Fehlalarme und aktualisieren diese Liste, sobald Korrekturen veröffentlicht werden.
In der Scroll-Ansicht
Kann Probleme mit Text in Elementen mit Bannerverhalten melden. Um diese Elemente für diejenigen verfügbar zu machen, die größeren Text benötigen, verwenden Sie UILargeContentViewer
. (#622)
ActiveControlName
Wenn für eine UIImageView ein `accessibilityIdentifier` gesetzt ist, diese jedoch nicht von VoiceOver fokussiert werden kann, und darin fokussierbare Steuerelemente verschachtelt sind, meldet ActiveControlName möglicherweise einen Falsch Positiv für die UIImageView. Durch das Entfernen von `accessibilityIdentifier` wird das Problem behoben. (#1178)
False Negative: Bildansichtsname, fokussierbarer Text in iOS 13 bis iOS 14.8.1
Wir arbeiten aktiv an der Behebung der folgenden Falsch-Negativen und aktualisieren diese Liste, sobald Korrekturen veröffentlicht werden.
Name der Bildansicht
Wenn für ein UIImageView ein `accessibilityIdentifier` -Set vorhanden ist, es jedoch nicht von VoiceOver fokussiert werden kann, meldet ImageViewName möglicherweise ein falsches Negativ für das UIImageView. Durch das Entfernen von `accessibilityIdentifier` wird das Problem behoben. (#1188)
Fokussierbarer Text
Elemente, die als nicht barrierefreie Elemente gekennzeichnet sind, können aufgrund eines Fehlers im Framework von Apple falsche Ergebnisse melden.
axe DevTools Mobile für Android
Absturz bei Verwendung von Proguard
Wenn Ihr Debug- oder Testbuild Proguard verwendet, befolgen Sie die Schritte, um Deque in Ihren Proguard-Einstellungen zu ignorieren.
Absturz, wenn `minifiedEnabled` auf „true“ gesetzt ist
Wenn Sie Ihren Build minimieren, wird ein Absturz mit einem Fehlerprotokoll angezeigt, das meldet, dass beim Versuch, sich bei der axe DevTools-Bibliothek anzumelden, ein Adapter nicht gefunden werden konnte. Deaktivieren Sie Minify für Ihre Debug-Builds mit implementierten axe DevTools. (#729)
Fehler beim Kompilieren mit Java8-Projekt und axe DevTools Android 3.1.0
Versuchen Sie die folgenden Importe:
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'Wenn nach dem Importieren der obigen Bibliothek Fehler im Zusammenhang mit der minSDK-Version für die Core-KTX-Bibliothek auftreten, versuchen Sie Folgendes im Android-Manifest Ihres Projekts:
<uses-sdk tools:overrideLibrary="androidx.core" />
Builds mit aktiviertem R8 werfen einen Fehler
Ein Build mit aktiviertem R8 versucht möglicherweise, die Bibliothek axeDevTools zu minimieren, was zu einem Fehler ähnlich dem folgenden führt:
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)Um diesen Fehler zu beheben, fügen Sie Ihrer ProGuard-Datei die folgende Zeile hinzu, um die axeDevTools-Klassen beizubehalten:
keep class com.deque.** { *; }
Fehlermeldung ähnlich wie:
Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)
Wenn ein Fehler wie `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` auftritt, kontaktieren Sie uns bitte unter helpdesk@deque.com oder support.deque.com , um Hilfe zu erhalten. Unter bestimmten Bedingungen können zwei Compose-Stammknoten gleichzeitig vorhanden sein.
axe DevTools Mobile Dashboard
Einige Android-Prüfnamen sind unformatiert
Bei einigen Android-Prüfnamen, die standardmäßig als Bildschirmtitel angezeigt werden, wird der vollständige Klassenname einschließlich der Bundle-ID angezeigt. In einer zukünftigen Version wird dies behoben, sodass der Bildschirmtitel in einen besser lesbaren Namen formatiert wird. Als Workaround können Sie den Prüfname über das Dashboard oder Frameworks festlegen. (#1643)