Axe DevTools Mobile Versionshinweise vom 16. August 2023

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

16. August 2023

Not for use with personal data

Komponenten-Versionen

  • axeDevToolsXCUI v2.6.0
  • axe-devtools-android v4.0.0

Neuerungen

Einführung des Axe DevTools Mobile Analyzer

Verwenden Sie den neuen Axe DevTools Mobile Analyzer, um iOS- oder Android-Apps zu testen, die mit jeder Technologie erstellt wurden, ohne Zugriff auf den Quellcode zu haben. Testen Sie sowohl native als auch plattformübergreifende Apps, wie SwiftUI und UIKit in iOS, Jetpack Compose und XML in Android, React Native, Flutter, Xamarin und Ionic. Der Axe DevTools Mobile Analyzer ersetzt den eingebetteten Floating Action Button für benutzerinitiierte (manuelle) Barrierefreiheitstests. Um den Wechsel vorzunehmen, entfernen Sie den eingebetteten Code für den Floating Action Button aus Ihrer App und folgen Sie der Dokumentation, um Beginnen Sie mit dem neuen Axe DevTools Mobile Analyzer.

iOS

  • Ansichten, die mit SwiftUI erstellt wurden, und plattformübergreifende Apps können jetzt über benutzerinitiierte (manuelle) Tests mit dem neuen Axe DevTools Mobile Analyzer für iOS getestet werden.
  • Die Unterstützt Dynamischer Text (Dynamic Type)-Regel ist nun im XCUI-Framework verfügbar. Diese Regel ändert die Textgröße mehrfach und bewertet den Bildschirm nach jeder Änderung erneut, um nach Problemen zu suchen, was einige Sekunden dauert. Aus diesem Grund haben wir diese Funktion optional veröffentlicht. Um sie zu aktivieren, setzen Sie optInToSDT auf true in der Axe-Konfigurations-API. axeDevTools.configuration.optInToSDT = true.
  • Die minimal unterstützte iOS-Version ist nun iOS 14 (zuvor iOS 13).

Android

  • Plattformübergreifende Apps können jetzt über benutzerinitiierte (manuelle) Tests mit dem neuen Axe DevTools Mobile Analyzer für Android getestet werden.
  • Apps, die Ansichten mit Jetpack Compose verwenden, werden jetzt das komplette Regelset entweder über benutzerinitiierte (manuelle) oder automatisierte Tests ausführen. (Zuvor hatten Android-Apps, die Jetpack Compose verwenden, ein kleineres Regelset.)
  • Wir unterstützen jetzt das UI Automator-Test-Framework für automatisierte Tests.
  • Das aktualisierte Android-SDK ermöglicht automatisierte Barrierefreiheitsscans über Espresso und UI Automator mit dem Instrumentation Registry, ohne dass Sie eine bestimmte Ansicht oder Aktivität angeben müssen.
  • Breaking Change: Die DashboardService-Klasse wurde durch die ResultsDashboard-Klasse ersetzt.

Dashboard

  • Verbesserte Ladezeit für die Anzahl der Probleme und die Zusammenfassung auf dem Haupt-Dashboard-Bildschirm.
  • Verbesserte Darstellung der View Hierarchy bei Ansicht im Safari-Browser.

Fehlerbehebungen

Axe DevTools Mobile für iOS

  • Farbkontrast-Regel - Wir werden keine Farbkontrast-Regeln mehr auf deaktivierte Schaltflächen anwenden, da Farbkontrast-Regeln für deaktivierte Elemente nicht gelten.
  • Regel für kollidierende Steuerelemente - Jedes Steuerungselement, das nicht als zugänglich fokussierbar markiert oder kein Zugänglichkeitselement ist, wird nicht mehr berücksichtigt, wenn kollidierende Steuerelemente untersucht werden.
  • Lokal gespeicherte Ergebnisse - Der Scan-Name wird jetzt korrekt in die JSON-Datei eingefügt, wenn sie lokal gespeichert oder vom Dashboard heruntergeladen wird. Dies behebt den zuvor angezeigten Titel "Unbenannter Scan" in HTML-Berichten, die vom Reporter CLI generiert wurden.

Axe DevTools Mobile Dashboard

  • Barrierefreiheitskorrekturen: Fehlende Aria-Rolle="button" hinzugefügt, verbesserte Ankündigung des Modalkopfes, Tooltip in der Ansichtshierarchie entfernt und bessere Screenreader-Ankündigungen für die Paginierung hinzugefügt.
  • Scan-Name im Screenshot behoben, der zuvor den 'Inspect'-Button überlappte.
  • Ein Problem behoben, bei dem Testnutzer einen endlosen Ladespinner sahen.

Aktualisierungen

Dieses Release markiert das letzte unserer Updates für das UIKit-Framework für automatisierte Tests auf iOS-Apps. Wir werden dieses Framework auch in Zukunft anbieten, jedoch keine Fehlerbehebungen oder Updates mehr durchführen. Wir empfehlen Ihnen, zum XCUI-Framework zu wechseln, das mit neuen Regeln und Verbesserungen aktualisiert wird. Wenn Sie derzeit das UIKit-Framework für automatisierte Unit- oder UI-Tests verwenden und Unterstützung beim Übergang zum XCUI-Framework wünschen, lassen Sie es uns bitte wissen. Reichen Sie eine Anfrage bei support.deque.com ein, oder senden Sie eine E-Mail an helpdesk@deque.com.

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 das Problem gelöst wurde oder ein identifizierter Workaround vorhanden ist, falls keiner genannt wird.

important
  • Axe DevTools Mobile automatisierte Tests laufen auf nativen iOS-, nativen Android- und React-Native-Apps. Bitte kontaktieren Sie Ihren Deque-Ansprechpartner für Barrierefreiheitstestlösungen für Ihren Technologie-Stack.
  • Um Sie dabei zu unterstützen, genaue Ergebnisse und relevante Verbesserungsratschläge zu erhalten, werden Axe DevTools Mobile-Regeln nicht in Webansichten oder gerenderten PDFs ausgeführt. Um HTML-Inhalte zu testen, nutzen Sie bitte Axe DevTools für das Web. Axe Monitor unterstützt das Scannen von PDFs auf Barrierefreiheit.

Axe DevTools Mobile für iOS

axeDevToolsUIKit.xcframework

Ansichten, die mit SwiftUI erstellt wurden, können nicht mit diesem Framework für automatisierte Tests getestet werden.

Verwenden Sie das axeDevToolsXCUI-Framework in UITesting für SwiftUI-Ansichten.

Benutzerdefinierte Regelunterstützung ist nur in Swift verfügbar

Die API für benutzerdefinierte Regeln steht in Objective-C nicht zur Verfügung.

Falsch Positive: InScrollView, UnterstütztDynamicType, Kollidierende Ansichten

Wir arbeiten aktiv an Lösungen für die folgenden falschen positiven Befunde und werden diese Liste aktualisieren, sobald Lösungen veröffentlicht werden.

InScrollView
InScrollView kann Probleme für Text innerhalb von Banner-verhaltenden Elementen melden. Um diese Elemente für Personen verfügbar zu machen, die größere Texte benötigen, verwenden Sie UILargeContentViewer.

SupportsDynamicType
Sie könnten in den folgenden Szenarien auf falsche positive Meldungen stoßen:

  • Beim Verwenden der UIContentSizeCategoryDidChange Benachrichtigung kann das Framework fälschlicherweise melden, dass Text in UITests nicht auf Dynamische Schriftart reagiert.
  • Beim Verwenden von NotificationCenter.default.addObserver(forName:.., object:.., queue:.., using:..) , um auf die UIContentSizeCategoryDidChange Benachrichtigung zu reagieren.
  • Beim Verwenden von traitCollectionDidChange auf einer übergeordneten Ansicht oder einem View Controller eines Textes, um auf Dynamische Schriftart zu reagieren.
Colliding Views
When a scrollable subview contains text, and that subview does not span to the edge of the screen's bounds, you will see failures for text located within the view's bounds.

axeDevToolsXCUI.xcframework

SwiftUI Picker und UIKit Picker

Picker-Ansichten in SwiftUI und UIKit können dazu führen, dass das Framework auf Simulatoren oder Geräten hängen bleibt. (#636)

Regeln gegen verschachtelte Steuerelemente

Bei der Untersuchung einer Verbesserung unserer Regeln haben wir festgestellt, dass in XCTest verschachtelte Steuerelemente nicht im Zugänglichkeitsbaum zurückgegeben werden. Ein Fehlerbericht wurde bei Apple eingereicht. (#1110)

Falsch Positive: In Scroll View, ActiveControlName

Wir arbeiten aktiv an Lösungen für die folgenden falschen positiven Befunde und werden diese Liste aktualisieren, sobald Lösungen veröffentlicht werden.

In Scroll View
Könnte Probleme für Text innerhalb von Banner-verhaltenden Elementen melden. Um diese Elemente für Personen verfügbar zu machen, die größere Texte benötigen, verwenden Sie UILargeContentViewer. (#622) ActiveControlName
Wenn ein UIImageView ein `accessibilityIdentifier` gesetzt hat, aber nicht durch VoiceOver fokussierbar ist und es fokussierbare Steuerelemente innerhalb davon gibt, könnte ActiveControlName ein falsches Positiv auf dem UIImageView melden. Das Entfernen des `accessibilityIdentifier` behebt das Problem. (#1178)

Falsch Negativ: Image View Name, Fokussierbarer Text in iOS 13 bis iOS 14.8.1

Wir arbeiten aktiv an Lösungen für die folgenden falschen negativen Befunde und werden diese Liste aktualisieren, sobald Lösungen veröffentlicht werden.

Image View Name
Wenn ein UIImageView ein `accessibilityIdentifier` gesetzt hat, aber nicht durch VoiceOver fokussierbar ist, könnte ImageViewName ein falsches Negativ auf dem UIImageView melden. Das Entfernen des `accessibilityIdentifier` behebt das Problem. (#1188) Focusable Text
Elemente, die als nicht zugänglich markiert sind, könnten aufgrund eines Fehlers im Apple-Framework falsche Ergebnisse melden.

Axe DevTools Mobile für Android

Absturz bei Verwendung von Proguard

Wenn Ihr Debug- oder Test-Build Proguard verwendet, folgen Sie den Schritten, um Deque in Ihren Proguard-Einstellungen zu ignorieren.

Absturz, wenn `minifiedEnabled` auf true gesetzt ist

Wenn Sie Ihren Build minimieren, könnte es zu einem Absturz kommen, bei dem ein Fehlerprotokoll meldet, dass kein Adapter gefunden wurde, als versucht wurde, sich bei der Axe DevTools-Bibliothek anzumelden. Deaktivieren Sie das Minifizieren für Ihre Debug-Builds mit implementiertem Axe DevTools. (#729)

Fehler beim Kompilieren mit Java8-Projekt und Axe DevTools Android 3.1.0

Versuchen Sie die folgenden Importe:

implementation 'androidx.core:core-ktx:1.9.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'
	
After importing the above library, if you see errors related to minSDK version for core-ktx library try the following in your project’s Android Manifest:
<uses-sdk tools:overrideLibrary="androidx.core" />

Builds mit aktiviertem r8 werfen einen Fehler

Ein Build mit aktiviertem r8 könnte 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)

Wenn Sie auf einen Fehler stoßen wie `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)`, kontaktieren Sie uns bitte unter helpdesk@deque.com oder support.deque.com , um Unterstützung zu erhalten. Unter bestimmten Bedingungen können zwei Compose-Wurzelelemente gleichzeitig vorhanden sein.

Axe DevTools Mobile Dashboard

Einige Android-Scan-Namen sind unformatiert

Einige Android-Scan-Namen, die auf den Bildschirmtitel voreingestellt sind, erscheinen als voller Klassenname einschließlich des Paketnamen. In einer zukünftigen Veröffentlichung wird dieses Problem 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 festlegen. (#1643)