Axe DevTools Mobile April 2023 Versionshinweise
19. April 2023
Komponenten-Versionen
- axeDevToolsUIKit v3.4.0
- axeDevToolsXCUI v2.4.0
- axe-devtools-android v3.2.0
Neuerungen
Automatisiertes Testen und Linting für React Native
Wir freuen uns, ankündigen zu können, dass ab dieser Version Axe DevTools Mobile genutzt werden kann, um Barrierefreiheitstests in XCUI und Espresso für Apps durchzuführen, die mit React Native erstellt wurden! Aber das ist noch nicht alles: Wir haben außerdem React Native-Regeln in den kostenlosen Axe Accessibility Linter VSCode-Erweiterung und Axe DevTools Linter aufgenommen (vormals bekannt als Axe Linter Server)! Diese beiden Tools arbeiten Hand in Hand, sodass Ihr Team Barrierefreiheitsfehler so früh wie möglich im Entwicklungsprozess von React Native-Apps beheben kann. [17298]
Paginierung
Um die Ladezeiten des Axe DevTools Mobile Dashboards zu verbessern, haben wir der Tabelle mit den Scans eine Paginierung hinzugefügt. Jede Seite enthält 50 Scans, und es gibt eine Steuerung unterhalb der Tabelle, um zwischen den Seiten zu navigieren. Das Zusammenfassungsbanner wird weiterhin die Barrierefreiheitsbewertung und die Gesamtanzahl der verbleibenden Probleme für alle Scans melden. Filtern und Sortieren beeinflussen die gesamte Scansammlung. Die Auswahlaction von Scans ist auf jede Seite gebunden, sodass das Kontrollkästchen „Alle auswählen“ nur die 50 Scans auf der aktuellen Seite auswählt. Zudem haben wir die Möglichkeit entfernt, die Tabelle in der Größe zu ändern, aber wir haben Verbesserungen vorgenommen, um sicherzustellen, dass die Daten für jeden Scan bei fester Breite verfügbar sind. [17142]
WCAG 2.2-Hin-Regeln für Berührungsziel-Abstände
Hier bei Deque sind wir bestrebt, die wertvollsten nativen mobilen Barrierefreiheitstests bereitzustellen, die auch die relevanten WCAG-Erfolgskriterien abdecken. Da WCAG 2.2 bevorsteht, haben wir sowohl auf iOS- als auch Android-Geräten Regeln implementiert, um Level-AA-Erfolgskriterium 2.5.8 Zielgröße (Minimum) zu testen. Diese neuen Regeln heißen Touch Target Spacing, um sie von unseren bestehenden Touch Target Size-Regeln zu unterscheiden, die auf Level-AAA-Erfolgskriterium 2.5.5 Zielgröße basieren. Bitte beachten Sie, dass diese neuen Regeln weniger strenge Anforderungen haben im Vergleich zu den bestehenden Regeln, die näher an den Empfehlungen von Apple und Google ausgerichtet sind. Da WCAG 2.2 sich noch im Stadium der Kandidatenempfehlung befindet, werden alle Ergebnisse mit dem Status IGNORED berichtet. Sobald WCAG 2.2 finalisiert ist, werden diese Regeln in einer kommenden Version wieder aktiviert. Für weitere Informationen zu den Anforderungen, die die Touch Target Spacing-Regeln testen, sehen Sie bitte in den Behebungsleitfäden für iOS und Android nach.
Axe DevTools Mobile für iOS
Unterstützung für iPadOS
axeDevToolsUIKit v3.4.0 und axeDevTools v2.4.0 unterstützen offiziell das Testen von Anwendungen auf iPadOS sowohl über einen Simulator als auch ein physisches Gerät. Im Dashboard werden diese Scans mit dem Apple-Symbol in der Tabelle und auf der Scan-Zusammenfassungsseite angezeigt, und die einzelnen Probleme werden als iPadOS gekennzeichnet. [18244]
Optimierter Automatisierungs-Build für das XCUI-Framework
In der Veröffentlichung im November 2022 haben wir einen optimierten Automatisierungs-Build von axeDevToolsUIKit eingeführt, der das Testen von Einheiten ohne Authentifizierung oder andere Netzwerk-Anfragen ermöglichte. Mit dieser Version bieten wir auch einen optimierten Automatisierungs-Build von axeDevToolsXCUI an, damit Sie auch UI-Tests durchführen können, die nicht mit externen Netzwerken interagieren. Dieses Build ist nur über Deques Artifactory verfügbar, daher folgen Sie bitte dieser Leitfaden zum Herunterladen des Frameworks.
Neue Regeln für das XCUI-Framework
Wir arbeiten ständig daran, unseren Regelbestand zu verbessern und zu erweitern, daher freuen wir uns, mitteilen zu können, dass zwei neue Regeln zum XCUI-Framework für iOS hinzugefügt wurden. Farbkontrast und Bildschirmorientierung waren zuvor nur in axeDevToolsUIKit enthalten, sind jetzt aber auch in axeDevToolsXCUI verfügbar.
Erweiterung der Kollidierenden Ansichten
Nach der Integration von Apples Vision-Framework in die Farbkontrastregel im letzten Release haben wir die Möglichkeit gesehen, es auch in unserer Regel für kollidierende Ansichten zu nutzen. Die aktualisierte Regel verwendet jetzt OCR, um festzustellen, ob der Text von überlappenden Ansichten kollidiert, und reduziert so Fehlalarme.
Zusätzliche Funktionen
- Die Möglichkeit hinzugefügt, einen Scannamen beim lokalen Speichern festzulegen
- Die Anmeldeschnittstelle API wurde aktualisiert, um eine Verbindung zu einer privaten Instanz herzustellen
- Die Scan-URL wird nun beim Hochladen zur leichteren Zugänglichkeit in die Protokolle gedruckt
Axe DevTools Mobile für Android
Verbesserung der Farbkonstrasterkennung durch maschinelles Lernen
In der Veröffentlichung von Februar 2023 haben wir bekannt gegeben, dass wir Apples Vision-Framework in unsere iOS-Farbkontrastregel integriert haben, um die Genauigkeit und den Umfang der Regel zu erhöhen. Ebenso nutzen wir jetzt Googles MLKit in unserer Android-Farbkontrastregel. Dies ermöglicht uns, die Farbe von Texten präziser zu erkennen und den Farbkontrast bei Textbildern zu testen. Aufgrund dieser Verbesserungen können neue Farbkontrastprobleme gemeldet werden, die wir zuvor nicht erkennen konnten.
Compose-Button-Name-Regel
In axe-devtools-android v3.2.0 haben wir die Compose-Icon-Button-Name-Regel und die Compose-Text-Button-Name-Regel in eine einzige Regel namens Compose-Button-Name zusammengefasst. Bestehende Scans bleiben von den beiden abgelösten Regeln erhalten, und sie können weiterhin mit der Funktion Eigene Regeln über die Optionen des Axe DevTools Mobile Dashboards herausgefiltert werden.
Zusätzliche Funktionen
- Die Möglichkeit hinzugefügt, eigene Regeln hinzufügen und Dialoge scannen mit dem optimierten Automatisierungs-Build zu verwenden
- Regeln ignorieren-Funktion jetzt für Compose verfügbar
- Neue API verfügbar, um ignorierte Regeln zurücksetzen für sowohl XML als auch Compose zu verwenden
Fehlerbehebungen
Axe DevTools Mobile für iOS
LoginViewControllerwurde inDequeLoginViewControllerumbenannt, um Probleme zu vermeiden, wenn Apps einen Controller mit dem gleichen Namen haben [23412]- Die Regel für den Bildschirmtitel meldet jetzt ein Problem anstelle von „unvollständig“, wenn kein programmatischer Titel vorhanden ist und nichts in der Navigationsleiste verfügbar ist
- Der Anmeldebildschirm enthält jetzt Beschreibungen für deaktivierte Felder
- Ein Fehler mit der
isVisibleToUser-Eigenschaft für Warnungen wurde behoben - Ein Problem in der Farbkontrastrege wurde behoben, das mit doppelten Ergebnissen bei mehreren Textzeilen zusammenhängt
- Die Formatierung des Produktnamens im Nutzungservice wurde aktualisiert, um mit anderen Deque-Produkten übereinzustimmen
- Falsch-positive Ergebnisse in mehreren Picker-bezogenen Regeln wurden reduziert
Axe DevTools Mobile für Android
- Die Compose TextField Name-Regel akzeptiert nun ein TextField, wenn es ein Symbol mit einer Inhaltsbeschreibung enthält
- Ein Problem mit Proguard wurde behoben, das dazu führte, dass Benutzer Abhängigkeitskonflikte nicht lösen konnten
- Der Bildschirmtitel wird nun in einen menschenlesbaren Titel anstatt des Klassennamens formatiert
- Die Formatierung des Produktnamens im Nutzungservice wurde aktualisiert, um mit anderen Deque-Produkten übereinzustimmen
Axe DevTools Mobile Dashboard
- Die Regeln für Android Hidden Informative View Focus und Hidden Active View Focus werden nun korrekt als experimentell angezeigt
- Ein Problem mit der Kopier-Link-zu-Problem-Funktion wurde behoben, das neuen Nur-Lese-Nutzern den Zugriff auf Probleme verhinderte
- Mehrere Fehler im Zusammenhang mit dem Modal zum Bearbeiten von Tags bei einem Scan in der Tabelle wurden behoben
- Das Layout der Tabelle wurde verbessert, um den Bedarf an horizontalem Scrollen zu verringern
- Die Zugriffsverweigerungsseite ist nun für verschiedene Ansichtsgrößen responsiv
- Separate Ladeanimationen für die Tabelle und die Daten im Zusammenfassungsbanner wurden erstellt
- Die Fehlerbehandlung beim Abrufen von Ankündigungen wurde verbessert
- Alt-Text für das Schließen-Symbol im Overlay hinzugefügt, das erscheint, wenn Scans in der Tabelle ausgewählt sind
- Verbesserungen für die Bildschirmlesegerät- und Tastaturnavigation der Tabelle vorgenommen
- Ein Skip-Link wurde hinzugefügt, um direkt zur Tabelle zu gelangen
- Ein Problem wurde behoben, bei dem die Zugriffsverweigerungsseite in einigen Fällen nicht ordnungsgemäß angezeigt wurde
- Das Ausrufezeichen, das neben der Anzahl der Scans angezeigt wurde, wurde entfernt, um Verwirrung zu reduzieren
- Einige Schriftarten wurden aktualisiert
Bekannte Probleme
- Axe DevTools Mobile automatisierte Tests laufen auf nativen iOS-, nativen Android- und React Native-Anwendungen. Bitte kontaktieren Sie Ihren Deque-Vertreter für Barrierefreiheitslösungen in Ihrem Technologie-Stack.
- Regeln werden in Web-Views oder gerenderten PDFs nicht ausgeführt. Um HTML-Inhalte zu testen, verwenden Sie bitte Axe DevTools für Web. Axe Monitor unterstützt das Scannen von PDFs auf Barrierefreiheit.
Axe DevTools Mobile für iOS
axeDevToolsUIKit.xcframework
Mit SwiftUI erstellte Ansichten können mit diesem Framework nicht getestet werden
Verwenden Sie das axeDevToolsXCUI-Framework in UITesting für SwiftUI-Ansichten.
Unterstützung für benutzerdefinierte Regeln ist nur in Swift verfügbar
Die API für benutzerdefinierte Regeln steht nicht für Objective-C zur Verfügung.
The "Visible to User" filter may not work properly on side menus and alerts.
We are actively working on a fix and are expecting it in the next release.
Falsch-positive Ergebnisse: InScrollView, SupportsDynamicType
Wir arbeiten aktiv an Lösungen für die folgenden Falsch-positiven Ergebnisse und werden diese Liste aktualisieren, sobald Lösungen veröffentlicht werden.
InScrollView
InScrollView könnte Probleme für Text innerhalb von Banner-verhaltenden Elementen melden. Um diese Elemente für diejenigen verfügbar zu machen, die größere Schriftarten benötigen, verwenden Sie UILargeContentViewer.
SupportsDynamicType
Möglicherweise sehen Sie Falsch-positive Ergebnisse in den folgenden Szenarien:
- Wenn Sie die
UIContentSizeCategoryDidChange-Benachrichtigung verwenden, kann das Framework fälschlicherweise berichten, dass Text in UITests nicht auf Dynamic Type reagiert. - Wenn Sie
NotificationCenter.default.addObserver(forName:.., object:.., queue:.., using:..)verwenden, um auf dieUIContentSizeCategoryDidChange-Benachrichtigung zu reagieren. - Wenn Sie
traitCollectionDidChangeauf der übergeordneten Sicht eines Textes oder dem View-Controller verwenden, um auf Dynamic Type zu reagieren.
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.
Der Filter „Für Benutzer sichtbar“ funktioniert möglicherweise nicht richtig in Seitenmenüs und Warnungen.
Wir arbeiten aktiv an einer Lösung und erwarten sie in der nächsten Veröffentlichung.
Querformat wird derzeit nicht offiziell unterstützt
Dies wird in einer späteren Version behandelt.
Fehlalarme: A11yElementFocusBox, InScrollView
Wir arbeiten aktiv an Lösungen für die folgenden Fehlalarme und werden diese Liste aktualisieren, sobald Lösungen verfügbar sind.
A11yElementFocusBox
Für Ansichten, die außerhalb des Bildschirms liegen, meldet diese Regel möglicherweise fälschlicherweise, dass der VoiceOver-Fokusrahmen die Ansicht nicht umschließt.
InScrollView
InScrollView kann Probleme für Text innerhalb von Banner-verhaltenden Elementen melden. Um diese Elemente für diejenigen verfügbar zu machen, die größere Texte benötigen, verwenden Sie UILargeContentViewer.
Axe DevTools Mobile für Android
Absturz bei Verwendung von Proguard
Wenn Ihr Debug- oder Test-Build Proguard verwendet, befolgen Sie die Schritte, um Deque in Ihren Proguard-Einstellungen zu ignorieren.
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 kann versuchen, die axeDevTools-Bibliothek zu minifizieren, was zu einem Fehler führt, ähnlich:
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: Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)
Wenn Sie auf einen Fehler stoßen, der dem folgendem ähnelt: `Erwartet genau '1' Knoten, aber gefunden '2' Knoten, die passen: (isRoot)`, kontaktieren Sie uns bitte unter helpdesk@deque.com oder support.deque.com für Unterstützung. Unter bestimmten Bedingungen könnten zwei Compose-Wurzelknoten gleichzeitig existieren.
Axe DevTools Mobile Dashboard
Die Tabelle kann nicht nach Anzahl der Probleme sortiert werden
Seit der Veröffentlichung im April 2023 ist das Sortieren nach Anzahl der Probleme pro Scan deaktiviert. Dies wird in einer kommenden Veröffentlichung behoben.
Einige Android-Scannamen sind unformatiert
Einige Android-Scannamen, die standardmäßig dem Bildschirmtitel zugeordnet sind, erscheinen als vollständiger Klassenname einschließlich des Bundle-Kennzeichens. In einer zukünftigen Version wird dies gelöst, sodass der Bildschirmtitel in einen besser lesbaren Namen formatiert wird. Als Workaround können Sie den Scannamen im Dashboard oder über Frameworks festlegen.
