Axe DevTools Mobile Veröffentlichungsnotizen vom 21. Januar 2025
21. Januar 2025
Was ist neu?
Barrierefreiheitswert
Wir haben den Algorithmus zur Bewertung der Barrierefreiheit für Axe DevTools Mobile geändert, um ihn an unser Web-Produkt anzupassen. Das Dashboard hat ein neues Aussehen und zeigt kein Diagramm, keine Gesamtanzahl der Probleme oder Barrierefreiheitsbewertung mehr. Diese Bewertung betrachtete zuvor jeder Problem und seine jeweilige Schwere. Nun können Benutzer eine Bewertung für Scan erhalten. Das schwerwiegendste Problem auf diesem Bildschirm bestimmt die Bewertung. Die Gruppen-Scan-Funktion enthält jetzt eine Barrierefreiheitsbewertung, die aus dem Durchschnitt der Bewertungen der einzelnen Scans innerhalb dieser Gruppe berechnet wird. Sie können weiterhin auf einzelne Scans klicken, um dann alle in jedem Scan gefundenen Probleme anzuzeigen.
Fehlerbehebungen
- Mehrere Verbesserungen der Barrierefreiheit auf dem Axe DevTools Mobile Dashboard
- Ein Problem wurde behoben, bei dem im Gruppen-Scan die falsche Überprüfung angezeigt wurde
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 über eine identifizierte Lösung informieren, falls keine aufgeführt ist.
- Axe DevTools Mobile-automatisierte Tests laufen auf nativen iOS-, nativen Android- und React Native-Anwendungen. Bitte kontaktieren Sie Ihren Deque-Ansprechpartner für Lösungen zum Barrierefreiheitstesten in Ihrer Technologiestack.
- Obwohl Sie einige Ergebnisse aus Web-Ansichten oder gerenderten PDFs erhalten können, empfehlen wir dringend, Axe DevTools für Web oder Axe Monitor für die umfassendsten Barrierefreiheitstests im Web zu verwenden.
iOS
Fehler im Analyzer-Projekt & Testen nach Bundle-ID in 2.8.1
Die Funktionalität zum Testen einer Anwendung anhand der Bundle-ID war in Version 2.8.1 fehlerhaft und führte zu einem Fehler mit dem Titel „Kein Zielanwendungspfad über die Testkonfiguration angegeben: ...“. Aktualisieren Sie auf 2.8.2 oder die neueste Version, um den Fehler zu beheben. Aktualisieren Sie auf die neueste Version innerhalb des iOS Analyzer-Projekts.
„Konnte AxeResult nicht serialisieren“-Fehler im Analyzer-Projekt v1.2.0 und SDK v2.12.3
Beim Scannen einiger Anwendungen mit dieser Version des Analyzers und SDKs würde ein „Konnte AxeResult nicht serialisieren“-Fehler auftreten. 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 positive: LabelInName und LabelAtFront in SwiftUI & plattformübergreifenden Apps
Einige Bildschirme können falsch positive Ergebnisse mit LabelInName und LabelAtFront aufgrund einer falsch gefundenen associatedText-Eigenschaft melden (#1622).
Die Regel „Dynamic Type unterstützen“ funktioniert nicht mit dem iOS 15 Pro-Simulator
Es gibt ein Problem, das den iPhone 15 Pro-Simulator betrifft und verhindert, dass die Regel „Dynamic Type unterstützen“ ausgeführt wird. Wenn Sie zur Regel „Dynamic Type unterstützen“ angemeldet sind, können Sie sie nicht mit einem iPhone 15 Pro-Simulator testen. Bei Apple wurde ein Fehler gemeldet.
Regeln gegen geschachtelte Steuerelemente
Bei der Betrachtung einer Verbesserung unserer Regeln stellten wir fest, dass in XCTest geschachtelte Steuerelemente nicht im Barrierefreiheitsbaum zurückgegeben werden. Bei Apple wurde ein Fehler gemeldet. (#1110)
ImageView-Name-Regel erfordert Überprüfung der Ergebnisse für UIKit-Apps
In UIKit-Apps ist ein Bild ohne ein `accessibilityLabel` standardmäßig nicht mit unterstützender Technologie fokussierbar.
Die Eigenschaften, die wir zur Überprüfung der Fokussierbarkeit von Apple verwenden, können ungenau sein, wenn ein `accessibilityIdentifier` für das Bild festgelegt ist. Aufgrund dieses unerwarteten Verhaltens werden die Ergebnisse für ImageView Name-Probleme in UIKit-Apps als „Überprüfung erforderlich“ gemeldet. Ein Fehlerbericht wurde bei Apple eingereicht. (#1633)
Falsch positive: In Scroll View, Label In Name, Label am Anfang 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 Korrekturen veröffentlicht werden.
In Scroll View
Möglicherweise werden Probleme für Text innerhalb von Banner-verhaltenden Elementen gemeldet. Um diese Elemente für diejenigen verfügbar 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 fokussierbare Steuerelemente darin enthalten sind, kann ActiveControlName möglicherweise ein falsch positives Ergebnis auf dem 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 eines Steuerelements unter den nahegelegenen Elementen, um den Regelstatus zu bestimmen. In einigen Ansichtshierarchien kann der falsche nahegelegene Text erkannt werden, was dazu führen kann, dass diese Regeln fehlschlagen. (#1622)
Android
Fehler beim Speichern von Ergebnissen lokal auf API 30
Auf Android API 30 gibt es an einem der Speicherorte, an dem wir versuchen, Ergebnisse lokal zu speichern, einen Berechtigungsfehler. 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 in 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 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 der API 31 (Android 12) wurde die Möglichkeit eingeführt, nicht-systemüberlagerte Elemente 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 wegen ihrer Sicherheitsverbesserungen zu nutzen, empfehlen wir, sie für interne Testversionen auszuschalten, wo Sie sicher Testdaten verwenden und Sicherheitsbedenken somit 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ätsfenstern.
Fehlender Screenshot (Schwarzer Kasten) im Dashboard
Um die volle Funktionalität von Axe DevTools für Mobilgeräte 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. Schauen Sie sich unseren Leitfaden für das Aktivieren von Screenshots in Android-Apps an.
Absturz, wenn `minifiedEnabled` auf true gesetzt ist
Wenn Sie Ihr Build minimieren, sehen Sie einen Absturz mit einem Fehlerprotokoll, das berichtet, dass ein Adapter nicht gefunden werden konnte, wenn Sie versuchen, sich bei der Axe DevTools-Bibliothek anzumelden. 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 ä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)
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 nutzen Sie die layout-unabhängigen APIs , um weiterhin Updates zu erhalten. Wenn Sie weiterhin die Compose-APIs verwenden und einen Fehler feststellen, der etwa lautet „Es wurde genau ‚1‘ Knoten erwartet, aber ‚2‘ Knoten gefunden, die erfüllen: (isRoot)“ oder „Kein View initialisiert, haben Sie AxeDevToolsCompose.setComposeTestRule() aufgerufen?“, dann beachten Sie bitte Compose setTestTag API.
Protokollnachricht:MlKitContext has not been initialized
Wenn Sie diese Nachricht erhalten, können einige Regelresultate nicht wie erwartet zurückgegeben werden, wenn diese Regel künstliche Intelligenz nutz. Betroffene Regeln umfassen Farbkontrast, fokusfähiger Text und verschachtelte Elementnamen. (#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 Überprüfung erforderlich angezeigt, wenn für SDK Version 5.5.0 und höher ein Fehler vermutet wird. Bitte überprüfen Sie in diesem Fall manuell das korrekte Verhalten.
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 Modals oder Dialoge auszuführen, sondern sie stattdessen manuell zu überprüfen, um sicherzustellen, dass sie mit unterstützenden Technologien wie gewünscht funktionieren.
Web-Dashboard
Fehlender Screenshot
Wenn der Screenshot auf der Scan-Details-Seite fehlt, verhindert Ihre App möglicherweise die Aufnahme von Screenshots. Oftmals geschieht dies aus Sicherheitsgründen in Ihrer Produktionsanwendung. Erwägen Sie, diese Anforderung für Ihren Testbuild 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 einschließlich des Bundle-Identifier. In einer zukünftigen Version wird dies gelöst, sodass der Bildschirmtitel zu einem lesbareren Namen formatiert wird. Als Workaround können Sie den Scan-Namen aus dem Dashboard oder den Frameworks festlegen. (#1643)
