Axe DevTools Mobile Versionshinweise vom 16. Juli 2025
16. Juli 2025
Komponenten-Versionen
Android
- Android SDK (axe-devtools-android v7.0.1)
- Android Analyzer (Axe Accessibility Analyzer v2.0.1)
- Android Appium Driver (axe-appium-uiautomator2-driver v1.4.3)
- (Abgezweigt von UiAutomator2 v4.2.4)
Wie man aktualisiert: Android SDK, Android Analyzer, Android Appium Driver
Fehlerbehebungen
- Ein Problem mit der Screen Orientation-Regel wurde behoben, sodass Screenshots die gleiche Ausrichtung anzeigen, in der der Scan gestartet wurde
- Ein Problem mit Screenshots von Appium-Scans wurde behoben, sodass sie auf dem mobilen Dashboard und in generierten HTML-Berichten zugänglich sind.
Bekannte Probleme
Wenn Sie eines der untenstehenden Probleme erleben, kontaktieren Sie uns bitte unter helpdesk@deque.com oder support.deque.com. Wir können Sie dann benachrichtigen, sobald es gelöst ist, oder informieren, falls eine Umgehungslösung identifiziert wurde.
- Axe DevTools Mobile automatisierte Tests laufen auf nativen iOS-, nativen Android- und React Native-Anwendungen. Bitte kontaktieren Sie Ihren Deque-Vertreter für Lösungen zur Barrierefreiheitsprüfung in Ihrem Tech-Stack.
- Während Sie einige Ergebnisse von Web-Views oder gerenderten PDFs erhalten können, empfehlen wir dringend die Verwendung von Axe DevTools für Web oder Axe Monitor für die umfassendste Barrierefreiheitsprüfung für das Web.
iOS
Color Contrast rule does not run when text and background colors are the same
Our Color Contrast rule depends on Machine Learning to detect text, which ensures that the text being scanned is visible to users of your application. In cases where the text contained in a view is the same color as the background, our Machine Learning algorithm is unable to detect if any text is present, so the Color Contrast rule does not run on this view.
Scans auf physischen Geräten mit iOS Analyzer 1.4.7 können nicht ausgeführt werden
Eine Konfigurationseinstellung im iOS Analyzer 1.4.7 verhindert das Ausführen von Scans und gibt die Nachricht „Test Failed“ zurück. Um Scans auf einem physischen Gerät auszuführen, aktualisieren Sie auf das neueste iOS Analyzer-Projekt.
Fehler im Analyzer-Projekt & Testen nach Bundle-ID in 2.8.1
Die Funktionalität zum Testen einer Anwendung nach Bundle-Identifier war in Version 2.8.1 fehlerhaft, was zu einem Fehler führte, der den Titel „No target application path specified via test configuration: ...“ trug. Aktualisieren Sie auf 2.8.2 oder die neueste Version, um den Fehler zu beheben. Aktualisieren Sie auf das Neueste innerhalb des iOS Analyzer-Projekts.
Fehler „Could not Serialize AxeResult“ im Analyzer-Projekt v1.2.0 & SDK v2.12.3
Das Scannen einiger Anwendungen mit dieser Version des Analyzers und SDK führte zu einem „Could not Serialize AxeResult“-Fehler. 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.
False Positive: LabelInName und LabelAtFront in SwiftUI & plattformübergreifende Apps
Einige Bildschirme können aufgrund einer falschen associatedText-Eigenschaft (#1622) falsch-positive Ergebnisse mit LabelInName und LabelAtFront melden.
Supports Dynamic Type Regel funktioniert nicht mit iOS 15 Pro-Simulator
Es gibt ein Problem, das den iPhone 15 Pro-Simulator betrifft und verhindert, dass die Supports Dynamic Type Regel ausgeführt wird. Wenn Sie für die Supports Dynamic Type Regel angemeldet sind, können Sie diese nicht mit einem iPhone 15 Pro-Simulator testen. Ein Fehler wurde bei Apple eingereicht.
Regeln gegen Verschachtelte Steuerelemente
Während wir eine Verbesserung für unsere Regeln untersucht haben, haben wir festgestellt, dass in XCTest verschachtelte Steuerelemente nicht im Barrierefreiheitsbaum zurückgegeben werden. Ein Fehler wurde bei Apple eingereicht. (#1110)
ImageView Name Regel benötigt Überprüfung der Ergebnisse für UIKit-Apps
In UIKit-Apps ist ein Bild ohne `accessibilityLabel` standardmäßig nicht mit unterstützender Technologie fokussierbar.
Die Eigenschaften, die wir von Apple verwenden, um Fokusierbarkeit zu prüfen, können ungenau sein, wenn auf das Bild ein `accessibilityIdentifier` gesetzt ist. Aufgrund dieses unerwarteten Verhaltens werden Ergebnisse für ImageView Name-Probleme in UIKit-Apps als Überprüfung erforderlich gemeldet. Ein Fehlerbericht wurde bei Apple eingereicht. (#1633)
False Positive: In Scroll View, Label In Name, Label at Front und v2.11.0 ImageView Name & ActiveControlName
Wir arbeiten aktiv an Lösungen für die folgenden falsch-positiven Ergebnisse und werden diese Liste aktualisieren, sobald die Lösungen verfügbar sind.
In Scroll View
Kann Probleme für Text innerhalb von bannerähnlichen Elementen 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 & Active Control Name
Wenn ein UIImageView einen `accessibilityIdentifier` gesetzt hat, aber nicht von VoiceOver fokussierbar ist und fokussierbare Steuerelemente innerhalb davon verschachtelt sind, kann ActiveControlName ein falsch-positives Ergebnis auf dem UIImageView melden. Das Entfernen des `accessibilityIdentifier` behebt das Problem. Ein Fehler wurde bei Apple eingereicht. (#1633)
Label In Name and Label At Front
Diese beiden Regeln suchen nach dem sichtbaren Etikett eines Steuerelements in der Nähe befindlicher Elemente, um den Regelstatus zu bestimmen. In einigen Ansichtshierarchien kann durch falsche Erkennung von in der Nähe befindlichem Text dazu führen, dass diese Regeln fehlschlagen. (#1622)
Android
Die Regel für Farbkontrast wird nicht ausgeführt, wenn Text- und Hintergrundfarben gleich sind
Unsere Regel für Farbkontrast basiert auf Maschinellem Lernen zur Erkennung von Text, was sicherstellt, dass der gescannte Text für die Benutzer Ihrer Anwendung sichtbar ist. In Fällen, in denen der im View enthaltene Text die gleiche Farbe wie der Hintergrund hat, kann unser Algorithmus für Maschinelles Lernen nicht erkennen, ob Text vorhanden ist, weshalb die Regel für Farbkontrast auf diesem View nicht ausgeführt wird.
EditTextName auf Android 7 (SDK 24-25)
Apps, die mit XML geschrieben wurden und die Hinweistextfunktion nutzen, könnten auf Android 7 (SDK 24-25) falsche Positive mit der EditTextName Regel sehen. Hinweistext wurde erst mit Android 8 (SDK 26) eingeführt. Durch die Nutzung dieses Elements in Ihrer XML-App wird der Hinweistext dem Wert des Texteingabefelds zugewiesen. Neuere Versionen von Android sind besser ausgestattet, um dieses Erlebnis zugänglich zu machen.
Um dieses Problem zu überwinden, ist unsere erste Empfehlung, Ihre Tests auf neueren Android-Versionen auszuführen. Wenn es jedoch wichtig ist, dass die App auf älteren Android-Versionen zugänglich ist, sollten Sie die Nutzung der hintText Funktion in Betracht ziehen, da sie nicht offiziell unterstützt wird.
Versteckte Android-Views geben Ergebnisse zurück
Möglicherweise sehen Sie Ergebnisse für Views, die hinter anderen Views auf dem Bildschirm versteckt sind. Diese versteckten Views sind für unterstützende Technologien nicht zugänglich, aber Axe DevTools Mobile meldet sie dennoch als Probleme.
Wir arbeiten an einer Lösung für dieses komplexe Problem. In der Zwischenzeit können Sie die entsprechenden Probleme ignorieren, wenn TalkBack diese Views nicht erreichen kann. Sie erfordern keine Behebung, um die Barrierefreiheit sicherzustellen.
Fehler beim Ausführen der ML Kit Texterkennung
Die ML Kit Texterkennung wird in vielen der Axe DevTools Mobile-Regeln benötigt, um die Genauigkeit der Ergebnisse zu gewährleisten. 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 erfolgt der automatische Import jedoch nicht, und Sie sehen den folgenden Fehler im Logcat:
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. In Ihrer Anwendungs- build.gradle Datei fügen Sie Folgendes unter Abhängigkeiten hinzu:
implementation 'com.google.mlkit:text-recognition:16.0.1'
Berührungsziel-Abstand und Jetpack Compose
Die Regel für Berührungsziel-Abstand wird derzeit bei keinen in Jetpack Compose geschriebenen Slider-Komponenten ausgeführt. Derzeit kann keine Maßnahme ergriffen werden. Eine Lösung ist jedoch bald verfügbar!
Fehler beim lokalen Speichern von Ergebnissen auf API 30
Auf Android API 30 gibt es an einem der Orte, an dem wir versuchen, Ergebnisse lokal zu speichern, einen Berechtigungsfehler. Das Ergebnis wird trotzdem als JSON-Datei gespeichert, obwohl dieser Fehler angezeigt wird. Der Fehler kann unterdrückt werden, indem Sie den Code im folgenden Block auskommentieren:
def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') {
executable "${android.getAdbExecutable().toString()}"
args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases'
// finalizedBy {
// fetchAndroidFolderAxeReportsTask
// }
}
Please note that this code should only be commented out for API 30 as it will cause problems when saving locally for other API levels.
Scroll-Erkennung in Hybrid-Apps und plattformübergreifenden Apps
In einigen Hybrid- und plattformübergreifenden Apps können unerwartete Ergebnisse auftreten, wenn Elemente in einem Scroll-View teilweise außerhalb des Bildschirms sind. Um ein Element auf Barrierefreiheit zu testen, stellen Sie sicher, dass es vollständig auf dem Bildschirm ist, bevor Sie den Scan durchführen.
Analyzer-App: Floating Action Button verschwindet
Mit API 31 (Android 12) wurde die Möglichkeit eingeführt, nicht-systemische Overlays auszublenden. Um die Axe Analyzer-App zu nutzen, stellen Sie bitte sicher, dass diese Einstellung nicht aktiviert ist. Wenn Sie sich entschieden haben, diese Funktion aufgrund ihrer Sicherheitsverbesserungen zu nutzen, empfehlen wir, sie für interne Test-Builds deaktiviert zu lassen, bei denen Sie Testdaten sicher verwenden können und Sicherheitsbedenken auf diese Weise beseitigen. Note: this setting does not affect Google's accessibility scanner app as it's considered a system overlay.
Um die Axe Accessibility Analyzer-App zu nutzen, aktualisieren Sie alle Aufrufe der Methode setHideOverlayWindows(true) auf den betroffenen Aktivitätsfenstern. setHideOverlayWindows(false)
Screenshot fehlt (schwarzes Kästchen) im Dashboard
Um die volle Funktionalität der Axe DevTools für Mobile freizuschalten, stellen Sie sicher, dass Screenshots aktiviert sind. Wir empfehlen, Screenshots in einer Debug- oder Testversion Ihrer App zu aktivieren, die Mock-Daten verwendet, um Sicherheitsbedenken zu vermeiden. Sehen Sie sich unseren Leitfaden zum Aktivieren von Screenshots in Android-Apps an.
Absturz, wenn `minifiedEnabled` auf true gesetzt ist
Wenn Sie Ihr Build minifizieren, sehen Sie einen Absturz mit einem Fehlerprotokoll, das berichtet, dass ein Adapter nicht gefunden werden konnte, wenn versucht wird, sich in die Axe DevTools-Bibliothek einzuloggen. 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 axeDevTools-Bibliothek zu minifizieren, was zu einem Fehler führt, der ähnlich ist wie:
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.** { *; }
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, bitte verwenden Sie die layout-agnostischen APIs , um weiterhin Updates zu erhalten. Wenn Sie weiterhin die Compose-APIs verwenden und auf einen Fehler stoßen, der in etwa so lautet: `Es wurde genau '1' Knoten erwartet, aber '2' Knoten gefunden, die die Bedingung erfüllen: (isRoot)` oder `Keine View initialisiert, haben Sie AxeDevToolsCompose.setComposeTestRule() aufgerufen?`, beziehen Sie sich bitte auf Compose setTestTag API.
Protokollnachricht:MlKitContext has not been initialized
Wenn Sie diese Nachricht erhalten, können einige Regel-Ergebnisse möglicherweise nicht wie erwartet zurückgegeben werden, wenn diese Regel künstliche Intelligenz verwendet. Betroffene Regeln sind unter anderem Farbkontrast, Fokusierbarer Text und Verschachtelte Elementnamen. (#841)
MAUI: Bearbeiten der Textnamen-Regel
Aufgrund von Einschränkungen in der MAUI-App-Architektur im Android-Ökosystem wird die Regel zur Bearbeitung von Textnamen im Dashboard als „Erfordert Überprüfung“ angezeigt, wenn ein Fehler für SDK-Version 5.5.0 und höher vermutet wird. Bitte überprüfen Sie in diesem Fall manuell das korrekte Verhalten.
Native Android: Benutzerdefinierte Dialoge/Modale
Wenn Sie benutzerdefinierte Dialoge oder Modale implementieren, die die nativen Steuerelemente nicht erweitern, können Sie Ergebnisse für Views hinter dem Modal erhalten. In diesem Fall empfehlen wir, unser Tool nicht gegen diese benutzerdefinierten Modals oder Dialoge auszuführen und sie stattdessen manuell zu überprüfen, um sicherzustellen, dass sie mit unterstützender Technologie wie gewünscht funktionieren.
Web-Dashboard
Screenshot fehlt
Wenn der Screenshot auf der Scan-Details-Seite fehlt, kann es sein, dass Ihre App das Erstellen von Screenshots verhindert. Oftmals geschieht dies aus Sicherheitsgründen in Ihrer Produktionsanwendung. Ziehen Sie in Betracht, diese Anforderung für Ihr Test-Build zu entfernen, um die volle Funktionalität im Axe DevTools Mobile Dashboard zu ermöglichen.
Einige Android-Scan-Namen sind unformatiert
Einige Android-Scannamen, die standardmäßig als Bildschirmtitel verwendet werden, erscheinen als vollständiger Klassenname einschließlich des Bundle-Identifier. In einer zukünftigen Version wird dieses Problem behoben, sodass der Bildschirmtitel in einen besser lesbaren Namen formatiert wird. Als Übergangslösung können Sie den Scannamen im Dashboard oder in den Frameworks festlegen. (#1643)
