Axe DevTools Mobile Versionshinweise zum 12. Februar 2025
12. Februar 2025
Komponentenversionen
- Android SDK (axe-devtools-android v6.1.0)
- Android Analyzer (Axe Accessibility Analyzer v1.11.0)
- Android Appium-Treiber (axe-appium-uiautomator2-driver v1.3.0)
- Axe DevTools Reporter CLI v4.10.0
So aktualisieren Sie: Android SDK, Android Analyzer, Android Appium-Treiber, Axe DevTools Reporter CLI
Was ist neu?
Android Appium-Treiber
Die Funktion Ignorierregeln ist jetzt für den Android Appium-Treiber verfügbar! Siehe unsere Dokumentation zu Android-Ausschlussregeln, wobei zu beachten ist, dass Ignorierregeln für den Appium Android-Treiber nur mit alle-Ansichten implementiert werden können, nicht durch ausgewählte Ansichten oder Klassennamen. Um mehr darüber zu erfahren, wie Sie Ignorierregeln anwenden, sehen Sie unsere Dokumentation zur Appium-Einrichtung. Unterstützung für iOS Appium-Treiber folgt in Kürze.
Axe Reporter CLI
Jetzt, wenn Sie einen HTML-Bericht aus der JSON-Datei des mobilen Scans generieren, können Sie die Barrierefreiheitspunktzahl neben der gesamten Anzahl der Probleme, der Bestehensquote und der Gewichtung der Schwere der Probleme sehen. Sie können eine Punktzahl für alle Scans sehen oder einen einzelnen Scan auswählen, um dessen Punktzahl zu sehen. Diese Ergänzung stimmt mit der Barrierefreiheitspunktzahl überein, die Sie auf dem Axe DevTools Mobile Dashboard sehen.
Zur Referenz, die Bestehensquote ist der Prozentsatz der Barrierefreiheitsanforderungen, die erfolgreich erfüllt wurden, von der Gesamtanzahl der überprüften Anforderungen. Die Barrierefreiheitspunktzahl wird basierend auf der Gesamtanzahl der Bildschirme, der Anzahl der Probleme und der Schwere dieser Probleme berechnet.
Android-Fehlerbehebungen
- Konsistentere und zuverlässigere Ergebnisse über native und plattformübergreifende Apps hinweg
- Barrierefreiheit Verbesserungen für die Analyzer-App
- Updates zur Verbesserung der Leistung und Genauigkeit aller Barrierefreiheitsregeln
Bekannte Probleme
Wenn Sie eines der unten aufgeführten Probleme haben, kontaktieren Sie uns bitte unter helpdesk@deque.com oder support.deque.com. Wir können Sie dann benachrichtigen, sobald es gelöst ist, oder wenn ein identifizierter Workaround-Plan verfügbar ist, falls keiner aufgeführt ist.
- Axe DevTools Mobile automatisierte Tests laufen auf nativen iOS-, nativen Android- und React Native-Anwendungen. Kontaktieren Sie bitte Ihren Deque-Ansprechpartner für Lösungen zur Barrierefreiheitsprüfung in Ihrem technischen Stack.
- Während Sie einige Ergebnisse aus Webansichten oder gerenderten PDFs erhalten können, empfehlen wir dringend, Axe DevTools für das Web oder Axe Monitor für die umfassendsten Barrierefreiheitsprüfungen im Web zu verwenden.
iOS
Fehler im Analyzer-Projekt & Testen nach Bundle-ID in 2.8.1
Die Funktionalität beim Testen einer Anwendung nach Bundle-Identifikator wurde in Version 2.8.1 unterbrochen, was zu einem Fehler mit dem Titel „Kein Zielanwendungspfad über die Testkonfiguration angegeben: ...“ führte. Aktualisieren Sie auf Version 2.8.2 oder die neueste Version, um den Fehler zu beheben. Auf die neueste Version im iOS Analyzer-Projekt aktualisieren.
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 würde zu einem Fehler "Could not Serialize AxeResult" führen. 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 zeigen möglicherweise false positives mit LabelInName und LabelAtFront aufgrund einer falschen associatedText-Eigenschaft (#1622)
Regel Unterstützte dynamische Typen funktioniert nicht mit iOS 15 Pro-Simulator
Es gibt ein Problem, das den iPhone 15 Pro Simulator betrifft und verhindert, dass die Regel "Unterstützte dynamische Typen" läuft. Wenn Sie in die Regel "Unterstützte dynamische Typen" eingebunden sind, können Sie diese nicht mit einem iPhone 15 Pro-Simulator testen. Ein Fehlerbericht wurde bei Apple eingereicht.
Regeln gegen verschachtelte Steuerelemente
Bei der Betrachtung einer Verbesserung unserer Regeln haben wir entdeckt, dass in XCTest verschachtelte Steuerelemente nicht im Barrierefreiheitsbaum zurückgegeben werden. Ein Fehlerbericht wurde bei Apple eingereicht. (#1110)
ImageView-Name-Regel benötigt Überprüfungsergebnisse für UIKit-Apps
In UIKit-Apps ist ein Bild ohne ein `accessibilityLabel` standardmäßig nicht mit assistiven Technologien fokussierbar.
Die Eigenschaften, die wir zur Überprüfung der Fokussierbarkeit von Apple verwenden, können ungenau sein, wenn eine `accessibilityIdentifier` auf dem Bild gesetzt ist. Aufgrund dieses unerwarteten Verhaltens werden Ergebnisse für Probleme mit dem ImageView-Namen in UIKit-Apps als „Muss überprüft werden“ ausgewiesen. Ein Fehlerbericht wurde bei Apple eingereicht. (#1633)
False Positive: 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 falsch-positiven Ergebnisse und werden diese Liste aktualisieren, sobald die Korrekturen verfügbar sind.
In Scroll View
Kann Probleme für Text innerhalb von Banner-Verhaltenselementen melden. Um diese Elemente für Personen, die größere Texte benötigen, zugänglich zu machen, verwenden Sie UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Wenn ein UIImageView eine `accessibilityIdentifier` gesetzt hat, aber nicht von VoiceOver fokussierbar ist und es fokussierbare Steuerungen innerhalb davon gibt, kann ActiveControlName ein False Positive auf dem UIImageView melden. Das Entfernen der `accessibilityIdentifier` behebt das Problem. Ein Fehlerbericht wurde bei Apple eingereicht. (#1633)
Label In Name and Label At Front
Diese beiden Regeln suchen nach einem sichtbaren Etikett einer Steuerung unter benachbarten Elementen, um den Regelstatus zu bestimmen. In einigen Ansichtshierarchien kann der falsche nahegelegene Text erkannt werden, was zu einem Fehlschlagen dieser Regeln führt. (#1622)
Android
Touch Target Abstand und Jetpack Compose
Die Touch Target Abstand-Regel wird derzeit nicht für Schieberegler-Komponenten ausgeführt, die in Jetpack Compose geschrieben wurden. Derzeit kann nichts unternommen werden. Eine Korrektur ist jedoch bald verfügbar!
Fehler beim Speichern von Ergebnissen lokal auf API 30
Auf Android API 30 gibt es einen Berechtigungsfehler an einem der Orte, an denen wir versuchen, Ergebnisse lokal zu speichern. Das Ergebnis wird dennoch 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 bei Hybrid-Apps und plattformübergreifenden Apps
In einigen Hybrid- und plattformübergreifenden Apps können unerwartete Ergebnisse auftreten, wenn Elemente in einer Scroll-Ansicht teilweise außerhalb des Bildschirms liegen. 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: Schwebetaste verschwindet
Mit API 31 (Android 12) wurde die Fähigkeit eingeführt, nichtsystemeigene Overlays 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 Testversionen deaktiviert zu lassen, wo Sie sicher Testdaten verwenden und Sicherheitsbedenken auf diese Weise eliminieren 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) in den betroffenen Aktivitätsfenstern.
Fehlender Screenshot (schwarzes Feld) 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 Ihren Build minimieren, tritt ein Absturz mit einem Fehlerprotokoll auf, in dem berichtet wird, dass ein Adapter nicht gefunden werden konnte, wenn versucht wird, sich bei der Axe DevTools-Bibliothek anzumelden. Deaktivieren Sie die Minimierung für Ihre Debug-Builds mit implementierten 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, ähnlich zu:
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 zu:
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 wie „Genau '1' Knoten erwartet, aber '2' Knoten gefunden, die folgende Bedingung erfüllen: (isRoot)“ oder „Keine Ansicht initialisiert, haben Sie AxeDevToolsCompose.setComposeTestRule() aufgerufen?“, verweisen Sie bitte auf Compose setTestTag API.
Log-Meldung:MlKitContext has not been initialized
Wenn Sie diese Meldung erhalten, werden einige Regel-Ergebnisse möglicherweise nicht wie erwartet zurückgegeben, wenn diese Regel künstliche Intelligenz verwendet. Betroffene Regeln umfassen Farbkontrast, Fokussierbarer Text und Verschachtelter Elementname. (#841)
MAUI: Regel für Edit Text Name
Aufgrund von Einschränkungen der MAUI-App-Architektur im Android-Ökosystem wird die Regel für Edit Text Name im Dashboard als "Needs Review" angezeigt, wenn ein Fehler für SDK-Version 5.5.0 und höher vermutet wird. Bitte bestätigen Sie in diesem Fall das korrekte Verhalten manuell.
Native Android: Benutzerdefinierte Dialoge / Modals
Wenn Sie benutzerdefinierte Dialoge oder Modals implementieren, die nicht die nativen Steuerungen erweitern, können Sie Ergebnisse für Ansichten hinter dem Modal erhalten. In diesem Fall empfehlen wir, unser Tool nicht gegen diese benutzerdefinierten Modale oder Dialoge auszuführen, sondern sie 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 Ihre App verhindern, dass Screenshots gemacht werden. Oft ist dies aus Sicherheitsgründen in Ihrer Produktionsanwendung der Fall. Überlegen Sie, diese Anforderung für Ihre Testversion zu entfernen, um die volle Funktionalität im Axe DevTools Mobile Dashboard zu ermöglichen.
Einige Android-Scan-Namen sind unformatiert
Einige Android-Scan-Namen, die standardmäßig auf den Bildschirmtitel gesetzt sind, erscheinen als vollständiger Klassenname inklusive Bundle-Identifier. In einem zukünftigen Release wird dies behoben, sodass der Bildschirmtitel in einen besser lesbaren Namen formatiert wird. Als Workaround können Sie den Scan-Namen vom Dashboard oder aus den Frameworks festlegen. (#1643)
