axe DevTools Mobile 26. März 2025 Versionshinweise
26. März 2025
Komponentenversionen
iOS
– iOS SDK (axeDevToolsXCUI v2.14.1)
- iOS-Analysator (axe-devtools-mobile-analyzer v1.4.9)
- iOS Appium-Treiber (axe-appium-xcuitest-driver v1.3.0)
So aktualisieren Sie: iOS SDK, iOS Analyzer, iOS Appium Driver
Android
– Android SDK (axe-devtools-android v6.2.0)
- Android Analysator (axe Accessibility Analyzer v1.12.0)
- Android Appium-Treiber (axe-appium-uiautomator2-driver v1.4.0)
So aktualisieren Sie Android-SDK, Android Analyzer, Android Appium-Treiber
Was ist neu?
SDK
Beim Schreiben Ihrer Tests können Sie jetzt experimentelle Regeln aus den axe DevTools Mobile SDKs ignorieren. Da sich experimentelle Regeln noch in der Test- und Entwicklungsphase befinden, können Sie sich auf die Ergebnisse konzentrieren, die auf dem Standardregelsatz basieren.
Appium-Treiber
Beim Scannen mit unseren Appium-Treibern stehen Ihnen mehrere neue Optionen zur Verfügung. Du kannst:
- Ignorieren Sie experimentelle Regeln, wenn Sie Ihre Konfiguration einrichten
- Deaktivieren Sie das Hochladen von Scans auf das Mobile Dashboard, um die Anzahl der Netzwerkanforderungen zu reduzieren und die Scangeschwindigkeit zu verbessern
- Erstellen Sie mithilfe des Ergebnisschlüssels einen Link zu einem Scan auf dem Mobile Dashboard
Weitere Informationen finden Sie auf der Seite Appium-Funktionen .
Fehlerbehebungen
iOS
- Fehler behoben bei Ansichten mit unendlicher Fläche
couldNotSerializeResult
- Weniger Fehlalarme bei Ansichten, die teilweise außerhalb des Bildschirms liegen
- Verbesserungen der Genauigkeit der Regeln für Farbkontrast und kollidierende Ansichten
Android
- Ein Problem mit der Speicherung des Screenshots im Scan wurde behoben
- Weniger Fehlalarme für WebViews
- Verhinderung von Abstürzen auf dem Anmeldebildschirm der Analyzer-App
- Verbesserungen der Genauigkeit der folgenden Regeln: Touch-Zielabstand, ImageView-Name, Beschriftung vorne und fokussierbarer Text
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.
iOS
Mit iOS Analyzer 1.4.7 können keine Scans auf physischen Geräten ausgeführt werden
Eine Konfigurationseinstellung im iOS Analyzer 1.4.7 verhindert die Ausführung von Scans und gibt die Meldung „Test fehlgeschlagen“ zurück. Um Scans auf einem physischen Gerät auszuführen, aktualisieren Sie auf das neueste iOS Analyzer-Projekt.
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.
Fehler „AxeResult konnte nicht serialisiert werden“ im Analyzer-Projekt v1.2.0 und SDK v2.12.3
Das Scannen einiger Anwendungen mit dieser Version des Analysators und SDK würde zu einem Fehler „AxeResult konnte nicht serialisiert werden“ führen. Aktualisieren Sie auf die neueste Version, um den Fehler zu beheben. Aktualisieren Sie auf das neueste iOS Analyzer-Projekt.Aktualisieren Sie auf das neueste iOS SDK.
Falsch-Positiv: LabelInName und LabelAtFront in SwiftUI und plattformübergreifenden Apps
Einige Bildschirme melden möglicherweise falsche Positivwerte mit LabelInName und LabelAtFront, da eine falsche Eigenschaft „associatedText“ gefunden wurde (#1622).
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)
ImageView-Namensregel benötigt Überprüfungsergebnisse für UIKit-Apps
In UIKit-Apps ist ein Bild ohne `accessibilityLabel` mit unterstützender Technologie standardmäßig nicht fokussierbar.
Die Eigenschaften, die wir zur Überprüfung der Fokussierbarkeit aus Apple verwenden, können ungenau sein, wenn für das Bild ein `accessibilityIdentifier` festgelegt ist. Aufgrund dieses unerwarteten Verhaltens werden Ergebnisse für Probleme mit ImageView-Namen in UIKit-Apps als „Benötigt Überprüfung“ gemeldet. Ein Fehlerbericht wurde bei Apple eingereicht. (#1633)
Falschmeldung: In der Scroll-Ansicht, Label im Namen, Beschriftung vorne und v2.11.0 Bildansichtsname und 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)
v2.11.0 Image View Name und aktiver Steuerelementname
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. (#1633)
Beschriftung im Namen und Beschriftung am Anfang
Diese beiden Regeln suchen nach der sichtbaren Beschriftung eines Steuerelements unter den benachbarten Elementen, um den Regelstatus zu ermitteln. In einigen Ansichtshierarchien wird möglicherweise der falsche Text in der Nähe erkannt, was zum Fehlschlagen dieser Regeln führt. (#1622)
Android
EditTextName
auf Android 7 (SDK 24-25)
Bei mit XML geschriebenen Apps, die die Hinweistextfunktion verwenden, kann es zu Fehlalarmen bei der Regel kommen. EditTextName
Hinweistexte wurden erst mit Android 8 (SDK 26) eingeführt. Durch die Verwendung dieses Elements in Ihrer XML-App wird der Hinweistext dem Wert des Texteingabefelds zugewiesen. Neuere Android-Versionen sind besser dafür geeignet, dieses Erlebnis zugänglich zu machen.
Um dieses Problem zu beheben, empfehlen wir Ihnen zunächst, Ihre Tests auf neueren Android-Versionen auszuführen. Wenn es jedoch wichtig ist, dass die App auf früheren Android-Versionen zugänglich ist, sollten Sie die Verwendung dieser Funktion hintText
vermeiden, da sie nicht offiziell unterstützt wird.
Android-Versteckte Ansichten geben Ergebnisse zurück
Möglicherweise werden Ergebnisse für Ansichten angezeigt, die hinter anderen Ansichten auf dem Bildschirm verborgen sind. Diese ausgeblendeten Ansichten sind für unterstützende Technologien nicht verfügbar, werden von axe DevTools Mobile jedoch trotzdem als Probleme gemeldet.
Wir arbeiten an einer Lösung für dieses komplexe Problem. Wenn TalkBack diese Ansichten in der Zwischenzeit nicht erreichen kann, können Sie die entsprechenden Probleme ignorieren. Um die Zugänglichkeit sicherzustellen, ist keine Korrektur erforderlich.
Fehler beim Ausführen der ML Kit-Texterkennung
Die ML Kit-Texterkennung ist in vielen der axe DevTools Mobile-Regeln erforderlich, um die Genauigkeit der Ergebnisse sicherzustellen. Die ML Kit-Bibliothek sollte automatisch importiert werden, wenn Sie in Ihren automatisierten Espresso- oder UIAutomator-Tests auf axe DevTools Mobile verweisen. In einigen Fällen findet der automatische Import jedoch nicht statt und im Logcat wird der folgende Fehler angezeigt:
Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.
Um dieses Problem zu beheben, sollten Sie die ML Kit-Bibliothek manuell in Ihr Projekt importieren. Fügen Sie in der Datei Ihrer Anwendung unter „Abhängigkeiten“ Folgendes hinzu: build.gradle
implementation 'com.google.mlkit:text-recognition:16.0.1'
Touch-Zielabstand und Jetpack Compose
Die Regel „Touch Target Spacing“ wird derzeit auf keinen Slider-Komponenten ausgeführt, die in Jetpack Compose geschrieben wurden. Derzeit können keine Maßnahmen ergriffen werden. Es wird jedoch bald eine Lösung geben!
Fehler beim lokalen Speichern von Ergebnissen auf API 30
Bei Android API 30 liegt an einem der Speicherorte, an denen wir versuchen, Ergebnisse lokal zu speichern, ein Berechtigungsfehler vor. Das Ergebnis wird trotz der Anzeige dieses Fehlers weiterhin als JSON-Datei gespeichert. Der Fehler kann unterdrückt werden, indem der Code im folgenden Block auskommentiert wird:
def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') { executable "${android.getAdbExecutable().toString()}" args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases' // finalizedBy { // fetchAndroidFolderAxeReportsTask // } }
Bitte beachten Sie, dass dieser Code nur für API 30 auskommentiert werden sollte, da er beim lokalen Speichern für andere API-Ebenen Probleme verursacht.
Scroll-Erkennung bei Hybrid-Apps und plattformübergreifenden Apps
In einigen Hybrid- und plattformübergreifenden Apps können unerwartete Ergebnisse zurückgegeben werden, wenn Elemente in einer Bildlaufansicht teilweise außerhalb des Bildschirms liegen. Um die Zugänglichkeit eines Elements zu testen, stellen Sie sicher, dass es vollständig auf dem Bildschirm angezeigt wird, bevor Sie den Scan durchführen.
Analyzer-App: Schwebender Aktionsbutton verschwindet
Mit API 31 (Android 12) wurde die Möglichkeit eingeführt, nicht systembedingte Overlays auszublenden. Um die axe Analyzer-App zu nutzen, stellen Sie bitte sicher, dass diese Einstellung nicht aktiviert ist. Wenn Sie sich aufgrund der verbesserten Sicherheit für die Nutzung dieser Funktion entschieden haben, empfehlen wir, sie für interne Test-Builds deaktiviert zu lassen, bei denen Sie Testdaten sicher verwenden und auf diese Weise Sicherheitsbedenken ausräumen können. Hinweis: Diese Einstellung wirkt sich nicht auf die Barrierefreiheits-Scanner-App von Google aus, da diese als System-Overlay betrachtet wird.
Um die App „axe Accessibility Analyzer“ zu verwenden, aktualisieren Sie alle Aufrufe der Methode setHideOverlayWindows(true)
auf setHideOverlayWindows(false)
in den betroffenen Aktivitätsfenstern.
Screenshot fehlt (Black Box) im Dashboard
Um die volle Funktionalität von axe DevTools für Mobilgeräte freizuschalten, stellen Sie sicher, dass Screenshots aktiviert sind. Um Sicherheitsbedenken zu vermeiden, empfehlen wir, Screenshots in einer Debug- oder Testversion Ihrer App zu aktivieren, die Mock-Daten verwendet. Sehen Sie sich unsere Anleitung zum Aktivieren von Screenshots in Android-Apps. an.
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()?
Die Compose-APIs sind veraltet. Verwenden Sie bitte die layoutunabhängigen APIs , um weiterhin Updates zu erhalten. Wenn Sie die Compose-APIs weiterhin verwenden und ein Fehler wie `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` oder `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?` auftritt, verweisen Sie bitte auf Compose setTestTag API.
Protokollmeldung:MlKitContext has not been initialized
Wenn diese Meldung angezeigt wird, werden einige Regelergebnisse möglicherweise nicht wie erwartet zurückgegeben, wenn diese Regel künstliche Intelligenz nutzt. Zu den betroffenen Regeln gehören Farbkontrast, fokussierbarer Text und verschachtelter Elementname. (#841)
MAUI: Regel 'Textname bearbeiten'
Aufgrund von Einschränkungen bei der Darstellung der MAUI-App-Architektur im Android-Ökosystem wird die Regel „Textnamen bearbeiten“ im Dashboard als „Überprüfung erforderlich“ angezeigt, wenn bei SDK-Version 5.5.0 und höher ein Fehler vermutet wird. Bitte bestätigen Sie für diesen Fall das korrekte Verhalten manuell.
Natives Android: Benutzerdefinierte Dialoge/Modalen
Wenn Sie benutzerdefinierte Dialoge oder Modale implementieren, die die nativen Steuerelemente nicht erweitern, erhalten Sie möglicherweise Ergebnisse für Ansichten hinter dem Modal. In diesem Fall empfehlen wir, unser Tool nicht für diese benutzerdefinierten Modale oder Dialoge auszuführen, sondern sie stattdessen manuell zu überprüfen, um sicherzustellen, dass sie sich mit der assistiven Technologie wie gewünscht verhalten.
Web-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)