axe DevTools Mobile 26. Juni 2024 Versionshinweise
26. Juni 2024
Komponentenversionen
– Appium-Plugin (v2.2.0) – iOS SDK und Analyzer (axeDevToolsXCUI v2.12.0)
- Android SDK (axe-devtools-android v5.5.1)
- Android Analyzer (axe Accessibility Analyzer v1.8.1)
So aktualisieren Sie: iOS SDK, iOS Analyzer, Android SDK, Android Analyzer
Was ist neu?
Appium
- Neue Regeln: Wir haben WCAG 2.2-Unterstützung mit der Regel "Touch Target Spacing" für iOS und Android hinzugefügt. Wir haben auch die Regel "Edit Text Value" für Android hinzugefügt.
- Mehr Unterstützung für Steuerelementtypen in iOS-Regeln: Jetzt unterstützen wir für alle Regeln mehr als nur Schaltflächen.
- Nutzungsdienst: Wenn Ihr Team den Nutzungsdienst verwendet, um die Nutzung von axe DevTools Mobile zu verfolgen, werden jetzt Appium-Daten einbezogen.
iOS
– Die minimal unterstützte iOS-Version wurde auf iOS 15 erhöht.
- Nach früheren Veraltungshinweisen wird die "Colliding Controls"-Regel nicht mehr zugunsten der "Touch Target Spacing"-Regel ausgeführt, die sowohl kollidierende Steuerelemente als auch die Zielgröße abdeckt.
Fehlerbehebungen
Android
- Erweiterungen und Verbesserungen zur Erhöhung der Genauigkeit und Reduzierung falscher Positivmeldungen in den folgenden Regeln: Aktiver Ansichtsname, Berührungszielgröße, Bezeichnung im Namen und Bezeichnung vorne.
- Verbesserte Identifizierung und Regelergebnisse für Off-Screen- oder teilweise Off-Screen-Ansichten.
iOS
– Die Regel „Active Control Name“ wurde verbessert, um Ihren Endbenutzern bei der Verwendung der Stepper-Steuerung eine bessere Zugänglichkeit zu gewährleisten. – Erweiterungen und Verbesserungen zur Steigerung der Genauigkeit und Reduzierung falscher Positiv- und Negativwerte in den folgenden Regeln: Name des aktiven Steuerelements, Name der Bildansicht und Beschriftung vorne.
Appium
- Die Regel „Touch-Zielgröße“ unter Android wird jetzt auf jedem anklickbaren Element ausgeführt, unabhängig von seiner Fokusierbarkeit.
Bekannte Probleme
Wenn bei Ihnen eines der folgenden Probleme auftritt, kontaktieren Sie uns bitte unter helpdesk@deque.com oder support.deque.com. Wir können Sie dann benachrichtigen, sobald das Problem behoben ist, oder Ihnen einen Workaround empfehlen, falls keiner aufgeführt ist.
- Automatisierte Tests von axe DevTools Mobile laufen auf nativen iOS-, nativen Android- und React Native-Anwendungen. Bitte wenden Sie sich für Lösungen zum Testen der Barrierefreiheit für Ihren Tech-Stack an Ihren Deque-Vertreter.
- Obwohl Sie möglicherweise einige Ergebnisse aus Webansichten oder gerenderten PDFs erhalten, empfehlen wir dringend, die Tests mit axe DevTools for Web oder axe Monitor für umfassendste Zugänglichkeitstests im Web durchzuführen.
axe DevTools Mobile für iOS
Fehler im Analyzer-Projekt und beim Testen nach Bundle-ID in 2.8.1
Die Funktion zum Testen einer Anwendung per Bundle-ID 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 im iOS Analyzer-Projekt auf die neueste Version.
Ansichten außerhalb des Bildschirms können Ergebnisse für in iOS 17 getestete SwiftUI-Apps anzeigen
Mit Version 2.8.0 (Versionshinweise anzeigen) werden Ergebnisse nicht mehr für Ansichten gemeldet, die nicht sichtbar sind, einschließlich Ansichten außerhalb des Bildschirms oder von anderen Ansichten verdeckt. Wir haben festgestellt, dass in SwiftUI-Anwendungen, die in iOS 17 getestet werden, einige Ergebnisse immer noch angezeigt werden. (#1383)
Regel für dynamische Typunterstützung funktioniert nicht mit dem iOS 15 Pro-Simulator
Es gibt ein Problem beim iPhone 15 Pro-Simulator, das die Ausführung der Regel „Unterstützt dynamischen Typ“ verhindert. Wenn Sie die Regel „Unterstützt dynamischen Typ“ aktiviert haben, können Sie sie nicht mit einem iPhone 15 Pro-Simulator testen. Ein Fehler wurde bei Apple gemeldet.
Regeln gegen verschachtelte Steuerelemente
Bei der Suche nach einer Verbesserung unserer Regeln haben wir festgestellt, dass in XCTest verschachtelte Steuerelemente nicht im Zugänglichkeitsbaum zurückgegeben werden. Ein Fehler wurde bei Apple gemeldet. (#1110)
ImageView-Namensregel benötigt Überprüfungsergebnisse für UIKit-Apps
In UIKit-Apps ist ein Bild ohne `accessibilityLabel` mit unterstützender Technologie standardmäßig nicht fokussierbar.
Die Eigenschaften, die wir zur Überprüfung der Fokussierbarkeit aus Apple verwenden, können ungenau sein, wenn für das Bild ein `accessibilityIdentifier` festgelegt ist. Aufgrund dieses unerwarteten Verhaltens werden Ergebnisse für Probleme mit ImageView-Namen in UIKit-Apps als „Benötigt Überprüfung“ gemeldet. Ein Fehlerbericht wurde bei Apple eingereicht. (#1633)
Falschmeldung: In der Scroll-Ansicht, Label im Namen, Beschriftung vorne und v2.11.0 Bildansichtsname und ActiveControlName
Wir arbeiten aktiv an der Behebung der folgenden Fehlalarme und aktualisieren diese Liste, sobald Korrekturen veröffentlicht werden.
In der Scroll-Ansicht
Kann Probleme mit Text in Elementen mit Bannerverhalten melden. Um diese Elemente für diejenigen verfügbar zu machen, die größeren Text benötigen, verwenden Sie UILargeContentViewer
. (#622)
v2.11.0 Bildansichts-Name & AktiverSteuerungsname
Wenn für eine UIImageView ein `accessibilityIdentifier` gesetzt ist, diese jedoch nicht von VoiceOver fokussiert werden kann, und darin fokussierbare Steuerelemente verschachtelt sind, meldet ActiveControlName möglicherweise einen Falsch Positiv für die UIImageView. Durch das Entfernen von `accessibilityIdentifier` wird das Problem behoben. Ein Fehler wurde bei Apple gemeldet. (#1633)
Beschriftung im Namen und Beschriftung am Anfang
Diese beiden Regeln suchen nach der sichtbaren Beschriftung eines Steuerelements unter den benachbarten Elementen, um den Regelstatus zu ermitteln. In einigen Ansichtshierarchien wird möglicherweise der falsche Text in der Nähe erkannt, was zum Fehlschlagen dieser Regeln führt. (#1622)
axe DevTools Mobile für Android
Absturz, wenn `minifiedEnabled` auf „true“ gesetzt ist
Wenn Sie Ihren Build minimieren, wird ein Absturz mit einem Fehlerprotokoll angezeigt, das meldet, dass beim Versuch, sich bei der axe DevTools-Bibliothek anzumelden, ein Adapter 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 versucht möglicherweise, die Bibliothek axeDevTools 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)Um diesen Fehler zu beheben, fügen Sie Ihrer ProGuard-Datei die folgende Zeile hinzu, um die axeDevTools-Klassen beizubehalten:
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()?
Wenn ein Fehler wie `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` oder `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?` auftritt, beziehen Sie sich bitte auf Compose setTestTag API.
axe DevTools Mobile Dashboard
Fehlender Screenshot
Wenn der Screenshot auf der Seite mit den Scandetails fehlt, verhindert Ihre App möglicherweise, dass Screenshots erstellt werden. Dies geschieht häufig aus Sicherheitsgründen in Ihrer Produktionsanwendung. Erwägen Sie das Entfernen dieser Anforderung für Ihren Testbuild, um die volle Funktionalität im axe DevTools Mobile Dashboard zu ermöglichen.
Einige Android-Prüfnamen sind unformatiert
Bei einigen Android-Prüfnamen, die standardmäßig als Bildschirmtitel angezeigt werden, wird der vollständige Klassenname einschließlich der Bundle-ID angezeigt. In einer zukünftigen Version wird dies behoben, sodass der Bildschirmtitel in einen besser lesbaren Namen formatiert wird. Als Workaround können Sie den Prüfname über das Dashboard oder Frameworks festlegen. (#1643)
axe DevTools Mobile für Appium
Falsch Positive: Name der aktiven Ansicht, Abstand des Touch-Ziels
Wir arbeiten aktiv an der Behebung der folgenden Fehlalarme und aktualisieren diese Liste, sobald Korrekturen veröffentlicht werden.
Name der aktiven Ansicht
Aufgrund begrenzter Informationen, die über die Appium-Plattform verfügbar sind, haben wir eine Falsch-Positiv-Meldung für den Active View-Namen festgestellt, wenn die labeledBy
-Eigenschaft zum Bereitstellen einer Beschriftung für ein Button-Element verwendet wird.
Touch Target Spacing auf der iOS-Plattform für SwiftUI & React Native-Apps
Bei größeren Steuerelementen könnte der Abstand zwischen Berührungszielen-Standard nicht erfüllt sein, wenn ihre Mindestgröße von 24 pt x 24 pt überschritten wird. (#411)
False Negative: Nicht zugängliche Aktion auf Android React Native
Beim Scannen von React Native-Apps auf der Android-Plattform werden Ihnen möglicherweise widersprüchliche Ergebnisse für diese neue Regel angezeigt. Einige Ansichten verfügen über ein verschachteltes Schaltflächenelement, was zu einem Fehler bei der übergeordneten Schaltfläche, aber zu einem Bestehen bei der untergeordneten Schaltfläche führt. (#407)
React Native: Label In Name & Label At Front
Aufgrund von Einschränkungen bei den über die Appium-Plattform verfügbaren Informationen haben wir festgestellt, dass die Regeln „Label In Name“ und „Label At Front“ für mit React Native erstellte Apps nicht ausgeführt werden können. Wir suchen nach Lösungen und erwarten eine Behebung in einer zukünftigen Version.
React Native & .NET MAUI: Inspektion der Ansichtshierarchie zeigt vorherigen Bildschirm
Manchmal benötigt die Appium-Seitenquelleneigenschaft zwischen den Scans zusätzliche Zeit, um aktualisiert zu werden. Wenn dies geschieht, wird Ihnen beim Verwenden der Überprüfungsfunktion auf dem Dashboard die Ansichtshierarchie eines vorherigen Bildschirms angezeigt. Um das Problem zu beheben, fügen Sie vor dem Aufruf der Seitenquellen-API ein kleines Timeout hinzu, um den Barrierefreiheitsscan auszulösen. Beispiel:
await driver.pause(1000); const result = await driver.getPageSource();
Einschränkung: Image View Name für dekorative Bilder in Android
Aufgrund von Einschränkungen bei den über die Appium-Plattform verfügbaren Informationen haben wir festgestellt, dass die Regel „Image View Name“ die Erfolgskriterien für dekorative Bilder in Android nicht genau testen kann. Ergebnisse für Bilder ohne zugänglichen Namen werden im Dashboard zur weiteren Analyse als „Muss überprüft werden“ angezeigt.