Axe DevTools Mobile Versionshinweise vom 26. März 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

26. März 2025

Not for use with personal data

Komponentenversionen

iOS

  • iOS SDK (axeDevToolsXCUI v2.14.1)
  • iOS Analyzer (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-Treiber

Android

  • Android SDK (axe-devtools-android v6.2.0)
  • Android Analyzer (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 nun wählen, experimentelle Regeln von den Axe DevTools Mobile SDKs zu ignorieren. Da experimentelle Regeln noch getestet und entwickelt werden, können Sie sich auf Ergebnisse basierend auf dem Standardregelwerk konzentrieren.

Appium-Treiber

Beim Scannen mit unseren Appium-Treibern haben Sie mehrere neue Optionen. Sie können:

  • Experimentelle Regeln ignorieren, wenn Sie Ihre Konfiguration einrichten
  • Das Hochladen von Scans auf das Mobile Dashboard deaktivieren, um die Anzahl der Netzwerkanforderungen zu reduzieren und die Scangeschwindigkeit zu verbessern
  • Einen Link zu einem Scan auf dem Mobile Dashboard mit dem Ergebnisschlüssel erstellen

Erfahren Sie mehr auf der Appium-Funktionen-Seite.

Fehlerbehebungen

iOS

  • Behoben: couldNotSerializeResult-Fehler für Ansichten mit unendlicher Fläche
  • Falsche Positive für teilweise außerhalb des Bildschirms liegende Ansichten reduziert
  • Verbesserung der Genauigkeit der Regeln für Farbkontrast und kollidierende Ansichten

Android

  • Problem mit der Speicherung des Screenshots im Scan behoben
  • Falsche Positive für WebViews reduziert
  • Verhinderung von Abstürzen auf dem Anmeldebildschirm der Analyzer-App
  • Verbesserung der Genauigkeit der folgenden Regeln: Abstandsregel für Touch-Ziele, ImageView Name, Vorderes Etikett, und fokussierbarer Text

Bekannte Probleme

Wenn Sie eines der unten aufgeführten Probleme erleben, kontaktieren Sie uns bitte unter helpdesk@deque.com oder support.deque.com. Wir benachrichtigen Sie dann, sobald es gelöst ist oder ein geeigneter Workaround identifiziert wurde, falls keiner aufgelistet 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 Barrierefreiheitstestlösungen auf Ihrem Technologie-Stack.
  • Obwohl Sie einige Ergebnisse aus WebViews oder gerenderten PDFs erhalten können, empfehlen wir dringend die Verwendung von Axe DevTools für Web oder Axe Monitor für die umfassendsten Barrierefreiheitstests für das Web.

iOS

Nicht in der Lage, Scans auf physischen Geräten mit iOS Analyzer 1.4.7 auszuführen

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 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 beim Testen einer Anwendung nach Bundle-Identifier war in Version 2.8.1 fehlerhaft, 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. Auf die neueste Version innerhalb des iOS Analyzer-Projekts aktualisieren.

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

Beim Scannen einiger Anwendungen mit dieser Version des Analyzers und SDKs tritt ein Fehler „Could not Serialize AxeResult“ auf. Aktualisieren Sie auf die neueste Version, um den Fehler zu beheben. Auf das neueste iOS Analyzer-Projekt aktualisieren.Auf das neueste iOS SDK aktualisieren.

Falsch-Positiv: LabelInName und LabelAtFront in SwiftUI- & plattformübergreifenden Apps

Einige Bildschirme können aufgrund einer fehlerhaften associatedText-Eigenschaft (#1622) mit LabelInName und LabelAtFront falsch-positive Ergebnisse melden.

Unterstützt 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 Dynamic Type-Regel ausgeführt wird. Wenn Sie für die Dynamic Type-Regel angemeldet sind, können Sie sie nicht mit einem iPhone 15 Pro Simulator testen. Ein Fehler wurde bei Apple gemeldet.

Regeln gegen verschachtelte Steuerelemente

Bei der Verbesserung unserer Regeln haben wir festgestellt, dass in XCTest verschachtelte Steuerelemente im Barrierefreiheitsbaum nicht zurückgegeben werden. Ein Fehler wurde bei Apple gemeldet. (#1110)

ImageView-NAMENS-Regel erfordert Überprüfungsergebnisse für UIKit-Apps

In UIKit-Apps ist ein Bild ohne `accessibilityLabel` standardmäßig nicht für unterstützende Technologien fokussierbar.
Die von uns verwendeten Eigenschaften zur Überprüfung der Fokussierbarkeit von Apple können ungenau sein, wenn auf dem Bild ein `accessibilityIdentifier` gesetzt ist. Aufgrund dieses unerwarteten Verhaltens werden die Ergebnisse für ImageView Name-Probleme in UIKit-Apps als Überprüfungsbedarf gemeldet. Ein Fehlerbericht wurde bei Apple eingereicht. (#1633)

Falsch-Positiv: Im Scroll View, Label In Name, Label At Front, und ImageView Name v2.11.0 & ActiveControlName

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

In Scroll View
Es können Probleme für Text innerhalb von Banner-verhaltenden Elementen gemeldet werden. Um diese Elemente Benutzern zugänglich zu machen, die größere Texte benötigen, verwenden Sie UILargeContentViewer. (#622)

v2.11.0 Image View Name & Active Control Name
Wenn ein UIImageView ein `accessibilityIdentifier` hat, aber nicht von VoiceOver fokussierbar ist und es fokussierbare Steuerelemente innerhalb von sich hat, kann ActiveControlName ein falsch-positives Ergebnis für das UIImageView melden. Das Entfernen des `accessibilityIdentifier` löst das Problem. Ein Fehler wurde bei Apple gemeldet. (#1633)

Label In Name and Label At Front
Diese beiden Regeln suchen nach dem sichtbaren Label einer Steuerung unter nahegelegenen Elementen, um den Regelstatus zu bestimmen. In einigen Ansichtenhierarchien kann der falsche nahegelegene Text erkannt werden, was dazu führt, dass diese Regeln fehlschlagen. (#1622)

Android

EditTextName auf Android 7 (SDK 24-25)

Apps, die mit XML geschrieben sind und die Hint-Text-Funktion nutzen, können mit dem EditTextName Regel fälschlicherweise positiv getestet werden. Hint-Text wurde erst in Android 8 (SDK 26) eingeführt. Bei Verwendung dieses Elements in Ihrer XML-App wird der Hint-Text dem Wert des Texteingabefelds zugeordnet. Neuere Versionen von Android sind besser darauf ausgestattet, dieses Erlebnis zugänglich zu machen.

Um dieses Problem zu überwinden, ist unsere erste Empfehlung, Ihre Tests auf neueren Versionen von Android durchzuführen. Sollte es jedoch wichtig sein, dass die App auf früheren Android-Versionen zugänglich ist, sollten Sie die Verwendung der hintText Funktion vermeiden, da sie offiziell nicht unterstützt wird.

Android versteckte Ansichten, die Ergebnisse zurückgeben

Sie können Ergebnisse für Ansichten sehen, die auf dem Bildschirm hinter anderen Ansichten verborgen sind. Diese versteckten Ansichten sind für unterstützende Technologien nicht verfügbar, aber Axe DevTools Mobile meldet sie dennoch als Probleme.

Wir arbeiten an einer Lösung für dieses komplexe Problem. In der Zwischenzeit, wenn TalkBack diese Ansichten nicht erreichen kann, können Sie die entsprechenden Probleme ignorieren. Diese erfordern keine Lösung, um Barrierefreiheit zu gewährleisten.

Fehler beim Ausführen der ML Kit Texterkennung

Die Texterkennung des ML Kit wird in vielen der Axe DevTools Mobile-Regeln verwendet, um die Genauigkeit der Ergebnisse zu gewährleisten. 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 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 überwinden, sollten Sie die ML Kit-Bibliothek manuell in Ihr Projekt importieren. In der build.gradle Datei Ihrer Anwendung fügen Sie Folgendes unter den Abhängigkeiten hinzu:

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

Touch-Target-Abstand und Jetpack Compose

Die Touch-Target-Abstandsregel läuft derzeit nicht auf jeglichen Schiebereglern, die in Jetpack Compose geschrieben wurden. Derzeit kann keine Maßnahme ergriffen werden. Eine Lösung kommt jedoch bald!

Fehler beim lokalen Speichern der Ergebnisse auf API 30

Auf Android API 30 gibt es einen Berechtigungsfehler an einem der Orte, an dem wir versuchen, Ergebnisse lokal zu speichern. Das Ergebnis wird weiterhin 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.

Scrolldetektion in Hybrid-Apps und plattformübergreifenden Apps

In einigen Hybrid- und plattformübergreifenden Apps können wir unerwartete Ergebnisse zurückgeben, 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 Fähigkeit eingeführt, nicht-systemische Overlays auszublenden. Um die Axe Analyzer-App zu nutzen, stellen Sie sicher, dass diese Einstellung nicht aktiviert ist. Wenn Sie entschieden haben, diese Funktion für ihre Sicherheitsverbesserungen zu nutzen, empfehlen wir, sie für interne Testversionen ausgeschaltet zu lassen, in denen Sie sicher Testdaten verwenden und Sicherheitsbedenken auf diese Weise beseitigen 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ätenfenstern.

Fehlender Screenshot (Schwarzes Kästchen) 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. Sehen Sie sich unseren Leitfaden zum Aktivieren von Screenshots in Android-Apps an.

Absturz wenn `minifiedEnabled` auf true gesetzt ist

Wenn Sie Ihr Build minimieren, wird ein Absturz mit einem Fehlerprotokoll angezeigt, 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 implementierten Axe DevTools. (#729)

Builds mit aktiviertem r8 werfen einen Fehler

Ein Build mit aktiviertem r8 könnte versuchen, die axeDevTools-Bibliothek zu minimieren, was zu einem Fehler führt, ähnlich:

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:
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 layouts-agnostischen APIs , um weiterhin Updates zu erhalten. Wenn Sie die Compose-APIs weiter verwenden und auf einen Fehler stoßen, der so aussieht: `Erwartet wurde genau '1' Knoten, aber '2' Knoten gefunden, die die Bedingung erfüllen: (isRoot)` oder `Kein View initialisiert, haben Sie AxeDevToolsCompose.setComposeTestRule() aufgerufen?`, konsultieren Sie bitte Compose setTestTag API.

Lognachricht:MlKitContext has not been initialized

Wenn Sie diese Nachricht erhalten, könnten einige Regelresultate möglicherweise nicht wie erwartet zurückgegeben werden, wenn diese Regel künstliche Intelligenz verwendet. Betroffene Regeln umfassen Farbkontrast, Fokusierbarer Text und Verschachtelte Elementname. (#841)

MAUI: Edit Text Name-Regel

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

Natives Android: Benutzerdefinierte Dialoge / Modale

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

Web-Dashboard

Screenshot fehlt

Wenn der Screenshot auf der Scan-Detailseite fehlt, könnte Ihre App das Erstellen von Screenshots verhindern. Oft geschieht dies aus Sicherheitsgründen in Ihrer Produktionsanwendung. Erwägen Sie, 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 nicht formatiert

Einige Android-Scan-Namen, die standardmäßig auf den Bildschirmtitel eingestellt sind, erscheinen als vollständiger Klassenname einschließlich des Bundle-Bezeichners. In einer zukünftigen Version wird dies behoben, sodass der Bildschirmtitel in einen lesbareren Namen formatiert wird. Als Workaround können Sie den Scan-Namen vom Dashboard oder aus den Frameworks einstellen. (#1643)