Axe DevTools Mobile Release Notes vom 2. Juli 2025

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

2. Juli 2025

Not for use with personal data

Komponentenversionen

iOS

  • iOS SDK (axeDevToolsXCUI v2.16.0)
  • iOS Analyzer (axe-devtools-mobile-analyzer v1.4.12)
  • iOS Appium Treiber (axe-appium-xcuitest-driver v1.5.0)
    • (Abgeleitet von XCUITest v9.2.3)

So aktualisieren Sie: iOS SDK, iOS Analyzer, iOS Appium Treiber

Android

  • Android SDK (axe-devtools-android v7.0.0)
  • Android Analyzer (Axe Accessibility Analyzer v2.0.0)
  • Android Appium Treiber (axe-appium-uiautomator2-driver v1.4.2)
    • (Abgeleitet von UiAutomator2 v4.2.4)

So aktualisieren Sie: Android SDK, Android Analyzer, Android Appium Treiber

Was ist neu?

Scan-Gruppen-URLs

Sie können jetzt eine URL für eine Gruppe von bis zu 20 Scan-Ergebnissen erstellen, sowohl mit unseren Android- als auch iOS-SDKs. Erstellen Sie eine URL für einen einzelnen Scan oder eine Scan-Gruppe mit unseren Appium-Treibern.
Besuchen Sie die folgenden Seiten für Details zur Implementierung dieser Funktion:

Fehlerbehebungen

iOS

  • Optimierte Netzwerk-Anfragen für das Senden von Scans mit einem Scannamen und/oder Tags
  • Verbesserungen der Genauigkeit der folgenden Regeln: Zugehöriger Text, Farbkontrast, Name im Label, Label vorne

Breaking Changes

Android XML und Compose APIs entfernt

Wir haben auf eine optimierte Implementierung von Axe DevTools für Android umgestellt, was zur Abschaffung der XML- und Compose-APIs geführt hat. Wir haben angedeutet, dass diese Änderung in den Release Notes Oktober 2024 erfolgen würde. Wenn Sie dies noch nicht getan haben, sollte Ihr Team zu den layout-agnostische APIs wechseln, um weiterhin Unterstützung und Zugang zu den neuesten Updates zu erhalten.

Unterstützte Android API Ebenen

Wir haben die Unterstützung für Android API Ebene 36 für das SDK hinzugefügt. Die minimale unterstützte Android API Ebene ist jetzt 26 für sowohl das SDK als auch die Mobile Analyzer App.

Bei Fragen oder Bedenken bezüglich dieser Breaking Changes kontaktieren Sie support.deque.com.

Bekannte Probleme

Wenn Sie eines der unten aufgeführten Probleme erleben, kontaktieren Sie uns bitte unter helpdesk@deque.com oder support.deque.com. Dann können wir Sie benachrichtigen, sobald es gelöst ist, oder Ihnen eine bekannte Umgehungslösung mitteilen, falls noch keine vorhanden ist.

important
  • 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 Barrierefreiheitstests auf Ihrem Tech-Stack.
  • Während Sie einige Ergebnisse von Webansichten oder gerenderten PDFs erhalten können, empfehlen wir dringend, für die umfassendsten Barrierefreiheitstests für das Web Axe DevTools für Web oder Axe Monitor zu verwenden.

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 Meldung „Test fehlgeschlagen“ zurück. Um Scans auf einem physischen Gerät durchzufü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 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 auf das Neueste innerhalb des iOS Analyzer-Projekts.

„Could not Serialize AxeResult“-Fehler im Analyzer-Projekt v1.2.0 & SDK v2.12.3

Das Scannen einiger Anwendungen mit dieser Version des Analyzers und SDK würde zu einem „Could not Serialize AxeResult“-Fehler 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 & plattformübergreifenden Apps

Einige Bildschirme können falsche Positive mit LabelInName und LabelAtFront melden, da eine falsche associatedText-Eigenschaft gefunden wurde (#1622)

Unterstützt nicht die Supports Dynamic Type-Regel beim 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 sich für die Supports Dynamic Type-Regel angemeldet haben, 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 uns eine Verbesserung unserer Regeln ansahen, stellten wir fest, dass in XCTest verschachtelte Steuerelemente nicht im Barrierefreiheit-Baum 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 verwenden, um die Fokusierbarkeit von Apple zu überprüfen, können ungenau sein, wenn ein `accessibilityIdentifier` auf dem Bild festgelegt ist. Aufgrund dieses unerwarteten Verhaltens werden Ergebnisse für ImageView Name-Probleme in UIKit-Apps als "Benötigt Überprüfung" gemeldet. Ein Fehlerbericht wurde bei Apple eingereicht. (#1633)

Falsch Positiv: In Scroll View, Label In Name, Label at Front, und v2.11.0 Image View Name & ActiveControlName

Wir arbeiten aktiv an Korrekturen für die folgenden falschen Positiven und werden diese Liste aktualisieren, sobald Korrekturen veröffentlicht werden.

In Scroll View
Kann Probleme für Text innerhalb von bannerartigen Elementen melden. Um diese Elemente für diejenigen, die größere Texte benötigen, verfügbar zu machen, verwenden Sie UILargeContentViewer. (#622)

v2.11.0 Image View Name & Active Control Name
Wenn ein UIImageView einen `accessibilityIdentifier` hat, aber nicht von VoiceOver fokussierbar ist, und fokussierbare Steuerelemente darin verschachtelt sind, kann ActiveControlName ein falsches Positive 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 einem sichtbaren Etikett eines Steuerelements unter nahegelegenen Elementen, um den Regeltstatus zu bestimmen. In einigen Ansichtshierarchien kann der falsche nahegelegene Text erkannt werden, wodurch diese Regeln scheitern. (#1622)

Android

Farbkontrastregel wird nicht ausgeführt, wenn Text- und Hintergrundfarben gleich sind

Unsere Farbkonstrastregel hängt von maschinellem Lernen ab, um Text zu erkennen, was sicherstellt, dass der gescannte Text für die Benutzer Ihrer Anwendung sichtbar ist. In Fällen, in denen der Text in einer Ansicht die gleiche Farbe wie der Hintergrund hat, ist unser maschinelles Lernalgorithmus nicht in der Lage zu erkennen, ob Text vorhanden ist, daher wird die Farbkonstrastregel auf dieser Ansicht nicht ausgeführt.

EditTextName auf Android 7 (SDK 24-25)

Apps, die mit XML geschrieben wurden und die die Hinweistextfunktion nutzen, können falsche Positive mit der EditTextName -Regel sehen. Hinweistext wurde erst mit Android 8 (SDK 26) eingeführt. Die Verwendung dieses Elements in Ihrer XML-App weist den Hinweistext dem Wert des Texteingabefeldes zu. Neuere Versionen von Android sind besser ausgestattet, um dieses Erlebnis zugänglich zu machen.

Um dieses Problem zu umgehen, empfehlen wir als erstes, Ihre Tests auf neueren Android-Versionen auszuführen. Wenn es jedoch wichtig ist, dass die App auf früheren Android-Versionen zugänglich ist, könnten Sie erwägen, die Verwendung der hintText -Funktion zu vermeiden, da sie nicht offiziell unterstützt wird.

Versteckte Android-Ansichten liefern Ergebnisse

Sie können Ergebnisse für Ansichten sehen, die hinter anderen Ansichten auf dem Bildschirm verborgen sind. Diese versteckten Ansichten sind für unterstützende Technologien nicht verfügbar, aber Axe DevTools Mobile meldet sie trotzdem 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 Ansichten nicht erreichen kann. Sie erfordern keine Lösung zur Gewährleistung der Barrierefreiheit.

Fehler beim Ausführen der Text Detection von ML Kit

Um die Genauigkeit der Ergebnisse sicherzustellen, wird die Texterkennung des ML Kit in vielen der Regeln von Axe DevTools Mobile benötigt. Die ML Kit-Bibliothek sollte automatisch importiert werden, wenn Sie Axe DevTools Mobile in Ihren automatisierten Espresso- oder UIAutomator-Tests referenzieren. In einigen Fällen jedoch erfolgt der automatische Import 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 der build.gradle -Datei Ihrer Anwendung fügen Sie Folgendes unter Abhängigkeiten hinzu:

implementation 'com.google.mlkit:text-recognition:16.0.1'

Touch Target Spacing und Jetpack Compose

Die Touch Target Spacing-Regel wird derzeit nicht auf Schiebekomponenten ausgeführt, die in Jetpack Compose geschrieben wurden. Derzeit kann keine Aktion unternommen werden. Ein Fix ist jedoch in Kürze zu erwarten!

Fehler beim Speichern von Ergebnissen lokal auf API 30

Auf Android API 30 tritt bei einem der Orte, an dem wir versuchen, die Ergebnisse lokal zu speichern, ein Berechtigungsfehler auf. Das Ergebnis wird trotzdem als JSON-Datei gespeichert, obwohl dieser Fehler angezeigt wird. 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
//    }
}

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 hybriden und plattformübergreifenden Apps können unerwartete Ergebnisse zurückgegeben werden, wenn Elemente in einer Scroll-Ansicht teilweise vom Bildschirm verschwinden. 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-systembasierte Überlagerungen auszublenden. Um die Axe Analyzer-App zu nutzen, stellen Sie 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 ausgeschaltet zu lassen, wo Sie sicher Testdaten nutzen und so Sicherheitsbedenken ausschließen können. 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) zu setHideOverlayWindows(false) auf den betroffenen Aktivitätsfenstern.

Fehlender Screenshot (Schwarzer Kasten) im Dashboard

Um die volle Funktionalität von 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. Siehe unseren Leitfaden für Aktivieren von Screenshots in Android-Apps.

Absturz, wenn `minifiedEnabled` auf true gesetzt ist

Wenn Sie Ihr Build minimieren, sehen Sie einen Absturz mit einem Fehlerprotokoll, das meldet, dass ein Adapter beim Versuch, sich in die Axe DevTools-Bibliothek einzuloggen, nicht gefunden werden konnte. Deaktivieren Sie Minify für Ihre Debug-Builds mit implementiertem Axe DevTools. (#729)

Builds mit aktiviertem r8 werfen einen Fehler

Ein Build mit aktiviertem r8 kann versuchen, die axeDevTools-Bibliothek zu minimieren, 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 die Compose-APIs weiter verwenden und auf einen Fehler stoßen, der in etwa lautet: „Es wurde genau ‚1‘ Knoten erwartet, aber ‚2‘ Knoten gefunden, die passen: (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 nicht wie erwartet zurückgegeben werden, wenn diese Regel künstliche Intelligenz nutzt. Betroffene Regeln umfassen Farbkontrast, Fokussierbarer Text und Verschachtelter Elementname. (#841)

MAUI: Regel „Edit Text Name“

Aufgrund von Einschränkungen der MAUI-App-Architektur im Android-Ökosystem wird die Regel „Edit Text Name“ im Dashboard als „Bedarf einer Überprüfung“ angezeigt, wenn ein Fehler für SDK-Version 5.5.0 und neuer vermutet wird. Bitte bestätigen Sie in diesem Fall das korrekte Verhalten manuell.

Native Android: Benutzerdefinierte Dialoge / Modale

Wenn Sie benutzerdefinierte Dialoge oder Modale implementieren, die die nativen Steuerungen nicht erweitern, können Ergebnisse für Ansichten hinter dem Modal angezeigt werden. In diesem Fall empfehlen wir, unser Tool gegen diese benutzerdefinierten Modale oder Dialoge nicht auszuführen, sondern sie stattdessen manuell zu überprüfen, um sicherzustellen, dass sie mit unterstützender Technologie wie gewünscht funktionieren.

Web-Dashboard

Fehlender Screenshot

Wenn der Screenshot auf der Scan-Detailseite fehlt, kann es sein, dass Ihre App das Aufnehmen von Screenshots verhindert. Oft geschieht dies aus Sicherheitsgründen in Ihrer Produktionsanwendung. Erwägen Sie, diese Anforderung für Ihren Test-Build zu entfernen, um die volle Funktionalität im Axe DevTools Mobile Dashboard zu ermöglichen.

Einige Namen von Android-Scans sind unformatiert

Einige Namen von Android-Scans, die standardmäßig den Bildschirmtitel verwenden, werden als vollständiger Klassenname einschließlich des Bundle-Identifier angezeigt. In einer zukünftigen Version wird dies behoben, sodass der Bildschirmtitel in einen lesbareren Namen formatiert wird. Als Workaround können Sie den Scannamen vom Dashboard oder aus Frameworks festlegen. (#1643)