axe DevTools Mobile 28. Februar 2024 Versionshinweise
28. Februar 2024
Komponentenversionen
- axeDevToolsXCUI v2.9.1
- axe-devtools-android v5.2.0
Was ist neu?
Verbesserte Appium-Lösung
– Am 14. Februar. wurde eine verbesserte Lösung zur Verwendung von Appium veröffentlicht. Siehe die Versionshinweise.
Android
– Die Methode connect() zur Authentifizierung beim axe DevTools Mobile-Server wird zugunsten von loginWithUsername() oder loginWithApiKey() verworfen. API-Referenz – Eine neue API ist jetzt verfügbar und ermöglicht Ihnen die Verwendung von Test-Tags zum Suchen und Scannen eines bestimmten zusammensetzbaren Elements in Jetpack Compose-Layouts. Dies kann nützlich sein, wenn ein Bildschirm eine Mischung aus Jetpack Compose- und XML-Layouts aufweist. Beispiel
Fehlerbehebungen
iOS
– Ein falsch-negatives Ergebnis mit der Regel „Active Control Name“ wurde behoben, bei dem ein searchBarTextField
ohne zugängliches Label die Regel fälschlicherweise bestand.
- Ein Falsch-Positiv mit der Regel „Farbkontrast“ in Textfeldern bei vorhandenem Cursor wurde behoben. Wenn ein Textfeld scheinbar bearbeitet wurde, wird ihm der Status „Muss überprüft werden“ statt „Fehlgeschlagen“ zugewiesen.
Android
– Ein Problem, bei dem der Mobile Analyzer beim Scannen plattformübergreifender Apps manchmal abstürzte, wurde behoben.
- Falschpositive Ergebnisse bei der Ausführung der Regeln für fokussierbaren Text und Namen verschachtelter Elemente für Ansichten behoben, die für den Benutzer nicht sichtbar waren. Die Regel wird nicht mehr ausgeführt, sofern die Ansicht nicht auf dem Bildschirm sichtbar ist.
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-Anwendungen. Bitte wenden Sie sich für Lösungen zum Testen der Barrierefreiheit für Ihren Tech-Stack an Ihren Deque-Vertreter.
- Obwohl Sie möglicherweise einige Ergebnisse aus Webansichten oder gerenderten PDFs erhalten, empfehlen wir dringend, die Tests mit axe DevTools for Web oder axe Monitor für umfassendste Zugänglichkeitstests im Web durchzuführen.
axe DevTools Mobile für iOS
Fehler im Analyzer-Projekt und beim Testen nach Bundle-ID in 2.8.1
Die Funktion zum Testen einer Anwendung per Bundle-ID war in Version 2.8.1 defekt, was zu einem Fehler mit dem Titel „Kein Zielanwendungspfad über Testkonfiguration angegeben: …“ führte. Aktualisieren Sie auf 2.8.2 oder die neueste Version, um den Fehler zu beheben. Aktualisieren Sie im iOS Analyzer-Projekt auf die neueste Version.
Ansichten außerhalb des Bildschirms können Ergebnisse für in iOS 17 getestete SwiftUI-Apps anzeigen
Mit Version 2.8.0 (Versionshinweise anzeigen) werden Ergebnisse nicht mehr für Ansichten gemeldet, die nicht sichtbar sind, einschließlich Ansichten außerhalb des Bildschirms oder von anderen Ansichten verdeckt. Wir haben festgestellt, dass in SwiftUI-Anwendungen, die in iOS 17 getestet werden, einige Ergebnisse immer noch angezeigt werden. (#1383)
Regel für dynamische Typunterstützung funktioniert nicht mit dem iOS 15 Pro-Simulator
Es gibt ein Problem beim iPhone 15 Pro-Simulator, das die Ausführung der Regel „Unterstützt dynamischen Typ“ verhindert. Wenn Sie die Regel „Unterstützt dynamischen Typ“ aktiviert haben, können Sie sie nicht mit einem iPhone 15 Pro-Simulator testen. Ein Fehler wurde bei Apple gemeldet.
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. Ein Fehler wurde bei Apple gemeldet. (#1226)
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. Ein Fehler wurde bei Apple gemeldet. (#1226)
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)
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)
oder: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?
Wenn ein Fehler wie `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` oder `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?` auftritt, beziehen Sie sich bitte auf Compose setTestTag API.
axe DevTools Mobile Dashboard
Fehlender Screenshot
Wenn der Screenshot auf der Seite mit den Scandetails fehlt, verhindert Ihre App möglicherweise, dass Screenshots erstellt werden. Dies geschieht häufig aus Sicherheitsgründen in Ihrer Produktionsanwendung. Erwägen Sie das Entfernen dieser Anforderung für Ihren Testbuild, um die volle Funktionalität im axe DevTools Mobile Dashboard zu ermöglichen.
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)
axe DevTools Mobile für Appium
Falsch positiv: Name der aktiven Ansicht
Aufgrund begrenzter Informationen, die über die Appium-Plattform verfügbar sind, haben wir eine Falsch-Positiv-Meldung für den Active View-Namen festgestellt, wenn die labeledBy
-Eigenschaft zum Bereitstellen einer Beschriftung für ein Button-Element verwendet wird. Wir suchen nach Lösungen und erwarten eine Behebung in einer zukünftigen Version.
React Native: Label In Name & Label At Front
Aufgrund von Einschränkungen bei den über die Appium-Plattform verfügbaren Informationen haben wir festgestellt, dass die Regeln „Label In Name“ und „Label At Front“ für mit React Native erstellte Apps nicht ausgeführt werden können. Wir suchen nach Lösungen und erwarten eine Behebung in einer zukünftigen Version.
React Native: Ansichtshierarchie anzeigen, die den vorherigen Bildschirm zeigt
Manchmal benötigt die Appium-Seitenquelleneigenschaft zwischen den Scans zusätzliche Zeit, um aktualisiert zu werden. Wenn dies geschieht, wird Ihnen beim Verwenden der Überprüfungsfunktion auf dem Dashboard die Ansichtshierarchie eines vorherigen Bildschirms angezeigt. Um das Problem zu beheben, fügen Sie vor dem Aufruf der Seitenquellen-API ein kleines Timeout hinzu, um den Barrierefreiheitsscan auszulösen. Beispiel:
await driver.pause(1000); const result = await driver.getPageSource();