Axe DevTools Mobile: Versionshinweise zur Veröffentlichung vom 8. Oktober 2024
8. Oktober 2024
Komponenten-Versionen
- Android SDK (axe-devtools-android v5.6.0)
- Android Analyzer (Axe Accessibility Analyzer v1.9.0)
- Android Appium Driver (axe-appium-uiautomator2-driver v1.1.0)
Wie man aktualisiert: Android SDK, Android Analyzer Android Appium Driver
Was ist neu?
Regel für nicht zugängliche Aktionen
Wir haben Inactive Accessible View in Inaccessible Action umbenannt, um die Benennung der Regel für iOS anzugleichen. Wir haben außerdem beschlossen, diese Regel als experimentell zu kennzeichnen, um die Genauigkeit der Ergebnisse für beide Plattformen zu verbessern.
Fehlerbehebungen
- Updates zur Verbesserung der Leistung und Genauigkeit der folgenden Regeln: Farbkontrast, Zielgröße von Touch-Elementen, Beschriftung im Namen, Beschriftung vorne, Bearbeitungstextname und Verschachteltes aktives Steuerelement
- Der Klassenname der überlappenden Ansicht wurde den analysierten Werten der Regel für den Abstand der Touch-Ziele hinzugefügt, um bei der Fehlersuche zu helfen
- Überarbeitete Ergebnisbeschreibungen, um aussagekräftiger zu sein und bessere Anleitungen zur Behebung von Problemen für die Regeln Inaccessible Action und Beschriftung vorne zu bieten
- Verbesserte Stabilität und Zuverlässigkeit des Accessibility-Dienstes. Die App wird nicht mehr jedes Mal, wenn sie verwendet wird, erneut, um Berechtigungen bitten
- Optimierte Netzwerk-Anfragen zum Hochladen von Ergebnissen ins Dashboard
- Verbesserte Fehlerbehandlung bei Authentifizierungsfehlern im Appium Driver
Abkündigungen
Nach gründlicher Überlegung bewegen wir uns in Richtung einer optimierten Implementierung von Axe DevTools für Android, die dazu führen wird, dass die XML- und Compose-APIs zu einem zukünftigen Zeitpunkt abgekündigt werden. Obwohl dieser Übergang nicht über Nacht erfolgen wird, ermutigen wir unsere Kunden, schrittweise auf die layout-unabhängige APIs umzusteigen, um weiterhin Unterstützung und Zugriff auf die neuesten Updates zu erhalten.
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 behoben ist, oder Ihnen eine identifizierte Lösung mitteilen, falls keine aufgeführt ist.
- Automatisierte Tests von Axe DevTools Mobile laufen auf nativen iOS-, nativen Android- und React Native-Anwendungen. Bitte kontaktieren Sie Ihren Deque-Ansprechpartner für Zugänglichkeitstests auf Ihrem Technologie-Stack.
- Während Sie möglicherweise einige Ergebnisse aus Webansichten oder gerenderten PDFs erhalten, empfehlen wir dringend, Axe DevTools für Web oder Axe Monitor für die umfassendsten Zugänglichkeitstests für das Web zu verwenden.
iOS
Fehler im Analyzer-Projekt & Testen per Bundle-ID in Version 2.8.1
Die Funktionalität zum Testen einer Anwendung über die Bundle-ID war in Version 2.8.1 defekt, was zu einem Fehler mit dem Titel „Kein Zielanwendungspfad über die Testkonfiguration angegeben: ...“. Aktualisieren Sie auf Version 2.8.2 oder die neueste Version, um den Fehler zu beheben. Aktualisieren Sie auf die neueste Version im iOS Analyzer-Projekt.
Falsch Positiv: LabelInName und LabelAtFront in SwiftUI- und plattformübergreifenden Apps
Einige Bildschirme können aufgrund einer falsch gefundenen associatedText-Eigenschaft falsch positive Ergebnisse mit LabelInName und LabelAtFront melden (#1622)
Regel zur Unterstützung dynamischer Schriftarten funktioniert nicht mit iOS 15 Pro-Simulator
Es gibt ein Problem, das den iPhone 15 Pro-Simulator betrifft und verhindert, dass die Regel zur Unterstützung dynamischer Schriftarten ausgeführt wird. Wenn Sie für die Regel zur Unterstützung dynamischer Schriftarten angemeldet sind, können Sie diese nicht mit einem iPhone 15 Pro-Simulator testen. Ein Fehlerbericht wurde an Apple gesendet.
Regeln gegen verschachtelte Steuerelemente
Während wir nach einer Verbesserung unserer Regeln suchten, stellten wir fest, dass in XCTest verschachtelte Steuerelemente nicht im Zugänglichkeitsbaum zurückgegeben werden. Ein Fehlerbericht wurde an Apple gesendet. (#1110)
Regel für ImageView-Namen muss Ergebnisse für UIKit-Apps überprüfen
In UIKit-Apps ist ein Bild ohne `accessibilityLabel` standardmäßig nicht mit unterstützenden Technologien fokussierbar.
Die von uns verwendeten Eigenschaften zur Prüfung der Fokussierbarkeit von Apple können ungenau sein, wenn ein `accessibilityIdentifier` auf dem Bild festgelegt ist. Aufgrund dieses unerwarteten Verhaltens werden die Ergebnisse für ImageView Name-Probleme in UIKit-Apps als zu überprüfend gemeldet. Ein Fehlerbericht wurde an Apple gesendet. (#1633)
Falsch Positiv: Im Scroll View, Label im Namen, Beschriftung vorne und v2.11.0 Image View Name & ActiveControlName
Wir arbeiten aktiv an Lösungen für die folgenden falsch positiven Ergebnisse und werden diese Liste aktualisieren, sobald Lösungen veröffentlicht werden.
In Scroll View
Kann möglicherweise Probleme für Text innerhalb von bannergleichenden Elementen melden. Um diese Elemente für diejenigen 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 einen `accessibilityIdentifier` hat, aber nicht von VoiceOver fokussierbar ist und es fokussierbare Steuerelemente darin verschachtelt hat, kann ActiveControlName ein falsch positives Ergebnis für das UIImageView melden. Das Entfernen des `accessibilityIdentifier` behebt das Problem. Ein Fehlerbericht wurde an Apple gesendet. (#1633)
Label In Name and Label At Front
Diese beiden Regeln suchen nach einem sichtbaren Label eines Steuerelements in der Nähe liegender Elemente, um den Regelstatus zu bestimmen. In einigen Ansichtshierarchien kann der falsche umliegende Text entdeckt werden, was dazu führt, dass diese Regeln fehlschlagen. (#1622)
Android
Analyzer App: Floating Action Button verschwindet
Mit API 31 (Android 12) wurde die Fähigkeit eingeführt, nicht-systemeigene Overlays auszublenden. Um die Axe Analyzer App nutzen zu können, 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 ausgeschaltet zu lassen, bei denen Sie Testdaten sicher nutzen und Sicherheitsbedenken auf diese Weise 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 vollständige 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 simulierte 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, sehen Sie einen Absturz mit einem Fehlerprotokoll, das besagt, dass beim Anmelden zur Axe DevTools Library ein Adapter nicht gefunden werden konnte. Deaktivieren Sie die Minifizierung 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 ähnlichen Fehler 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.** { *; }
Ähnliche Fehlermeldung:
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-agnostischen APIs , um weiterhin Updates zu erhalten. Wenn Sie die Compose-APIs weiter verwenden und auf einen Fehler stoßen, der in etwa lautet: `Erwartet genau '1' Knoten, aber '2' Knoten gefunden, die erfüllen: (isRoot)` oder `Kein View initialisiert, haben Sie AxeDevToolsCompose.setComposeTestRule() aufgerufen?`, konsultieren Sie bitte die 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 verwendet. Betroffene Regeln umfassen Farbkontrast, fokussierbaren Text und geschachtelten 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 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 Modale implementieren, die nicht die nativen Steuerelemente erweitern, erhalten Sie möglicherweise Ergebnisse für Ansichten hinter dem Modal. In diesem Fall empfehlen wir, unser Tool nicht gegen diese benutzerdefinierten Modale oder Dialoge auszuführen, sondern sie stattdessen manuell zu überprüfen, um sicherzustellen, dass sie sich mit unterstützender Technologie wie gewünscht verhalten.
Web-Dashboard
Fehlender Screenshot
Wenn der Screenshot auf der Scan-Detail-Seite fehlt, verhindert Ihre App möglicherweise, dass Screenshots erstellt werden. Dies geschieht oft aus Sicherheitsgründen in Ihrer Produktionsanwendung. Erwägen Sie, diese Anforderung für Ihr Test-Build zu entfernen, um die vollständige Funktionalität im Axe DevTools Mobile Dashboard zu erlauben.
Einige Android-Scan-Namen sind unformatiert
Einige Android-Scan-Namen, die standardmäßig dem Bildschirmtitel entsprechen, werden als vollständiger Klassenname einschließlich der Bundle-Kennung angezeigt. 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 den Frameworks aus setzen. (#1643)
