Axe DevTools Mobile release-opmerkingen van 16 augustus 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 augustus 2023

Not for use with personal data

Componentversies

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

Wat is er nieuw?

Introductie van Axe DevTools Mobile Analyzer

Gebruik de nieuwe Axe DevTools Mobile Analyzer om iOS- of Android-apps te testen die zijn gebouwd met welke technologie dan ook, zonder toegang tot de broncode. Test zowel native als cross-platform apps, zoals SwiftUI en UIKit in iOS, Jetpack Compose en XML in Android, React Native, Flutter, Xamarin en Ionic. Axe DevTools Mobile Analyzer vervangt de ingebedde Floating Action Button voor door de gebruiker geïnitieerde (handmatige) toegankelijkheidstests. Om over te schakelen, verwijdert u de ingebedde code voor de Floating Action Button uit uw app en volgt u de documenten om aan de slag met de nieuwe Axe DevTools Mobile Analyzer.

iOS

  • Views gebouwd met SwiftUI en cross-platform apps kunnen nu worden getest via door de gebruiker geïnitieerde (handmatige) tests met behulp van de nieuwe Axe DevTools Mobile Analyzer voor iOS.
  • De Ondersteunt Dynamische Type-regel is nu beschikbaar in het XCUI-framework. Deze regel vergroot de tekst meerdere keren en evalueert het scherm na elke vergroting opnieuw om problemen te detecteren, wat enkele seconden in beslag neemt. Om deze reden hebben we dit als opt-in uitgebracht. Om in te schrijven, stel optInToSDT in op true vanuit de Axe-configuratie-API. axeDevTools.configuration.optInToSDT = true.
  • De minimaal ondersteunde iOS-versie is nu iOS 14 (voorheen iOS 13).

Android

  • Cross-platform apps kunnen nu worden getest via door de gebruiker geïnitieerde (handmatige) tests met behulp van de nieuwe Axe DevTools Mobile Analyzer voor Android.
  • Apps die gebruikmaken van Jetpack Compose views zullen nu de volledige regelset doorlopen via zowel door gebruikers geïnitieerde (handmatige) als geautomatiseerde tests. (Voorheen hadden Android-apps die Jetpack Compose gebruikten een kleinere regelsset.)
  • We ondersteunen nu het UI Automator-testframework voor geautomatiseerde tests.
  • De bijgewerkte Android SDK maakt geautomatiseerde toegankelijkheidsscans mogelijk via Espresso en UI Automator met behulp van de Instrumentation Registry, waardoor het niet nodig is een specifieke weergave of activiteit op te geven.
  • Breaking change: De DashboardService-klasse is vervangen door de ResultsDashboard-klasse.

Dashboard

  • Verbeterde laadtijd voor probleemtelling en samenvatting vanaf het hoofdscherm van het Dashboard.
  • Verbeterde de weergave van de Weergavehiërarchie wanneer bekeken in de Safari-browser.

Bugfixes

Axe DevTools Mobile voor iOS

  • Kleurcontrastregel - We zullen geen kleurcontrastregels meer uitvoeren op uitgeschakelde knoppen, omdat kleurcontrastregels niet van toepassing zijn op uitgeschakelde elementen.
  • Controlebotsende regels - Elke controle die niet als toegankelijkheidsfocusbaar is gemarkeerd of geen toegankelijkheidselement is, zal niet langer in aanmerking worden genomen bij het bekijken van botsende controles.
  • Lokaal opgeslagen resultaten - De scannaam wordt nu correct toegevoegd aan het JSON-bestand wanneer lokaal opgeslagen of gedownload vanaf het Dashboard. Dit lost de "naamloze scan"-titel op die voorheen werd weergegeven in HTML-rapporten die werden gegenereerd vanuit de Reporter CLI.

Axe DevTools Mobile Dashboard

  • Toegankelijkheidsaanpassingen: Ontbrekende aria rol="button" toegevoegd, verbeterde de aankondigingsmodal-kop, verwijderde de tooltip in de weergavehiërarchie en voegde betere schermlezer-aankondigingen toe voor paginering.
  • Verholpen dat de scannaam in de screenshot eerder overlapt met de 'Inspecteer'-knop.
  • Verholpen een probleem waarbij proefgebruikers een oneindige spinner zagen.

Updates

Deze release markeert de laatste van onze updates aan het UIKit-framework voor geautomatiseerde tests op iOS-apps. We zullen dit framework nog wel blijven aanbieden voor de nabije toekomst, maar zullen geen bugfixes of updates meer uitvoeren. We raden aan om over te stappen naar het XCUI-framework, dat voortaan zal worden bijgewerkt met nieuwe regels en verbeteringen. Als je momenteel het UIKit-framework gebruikt voor geautomatiseerde unit- of UI-tests en ondersteuning wilt bij de overstap naar het XCUI-framework, laat het ons dan weten. Dien een verzoek in via support.deque.com of stuur een e-mail naar helpdesk@deque.com.

Bekende problemen

Als je een van de onderstaande problemen ervaart, neem dan contact met ons op via helpdesk@deque.com of support.deque.com. We kunnen je dan op de hoogte brengen zodra het probleem is opgelost of als er een tijdelijke oplossing is gevonden, als deze nog niet is vermeld.

important
  • Geautomatiseerde tests van Axe DevTools Mobile worden uitgevoerd op native iOS-, native Android- en React Native-apps. Neem contact op met je Deque-vertegenwoordiger voor toegankelijkheidstestoplossingen op jouw technische stack.
  • Om je te ondersteunen bij het verkrijgen van nauwkeurige resultaten en toepasselijk remedieadvies, worden Axe DevTools Mobile-regels niet uitgevoerd in webviews of gerenderde pdf's. Om HTML-inhoud te testen, gebruik Axe DevTools voor Web. Axe Monitor ondersteunt het scannen van pdf's op toegankelijkheid.

Axe DevTools Mobile voor iOS

axeDevToolsUIKit.xcframework

Weergaven gebouwd met SwiftUI kunnen niet getest worden met dit framework voor geautomatiseerde tests.

Gebruik het axeDevToolsXCUI framework in UITesting voor SwiftUI-weergaven.

Ondersteuning voor eigen regels is alleen beschikbaar in Swift

De API voor eigen regels is niet beschikbaar voor Objective-C.

Valse positieven: InScrollView, SupportsDynamicType, Colliding Views

We werken actief aan oplossingen voor de volgende valse positieven en zullen deze lijst bijwerken zodra er oplossingen zijn uitgebracht.

InScrollView
InScrollView kan problemen melden voor tekst binnen elementen die zich als banners gedragen. Om deze elementen toegankelijk te maken voor mensen die grotere tekst nodig hebben, gebruik UILargeContentViewer.

SupportsDynamicType
U kunt valse positieven zien in de volgende situaties:

  • Als u de UIContentSizeCategoryDidChange melding gebruikt, kan het framework onterecht melden dat tekst niet reageert op Dynamic Type in UITests.
  • Als u NotificationCenter.default.addObserver(forName:.., object:.., queue:.., using:..) gebruikt om te reageren op de UIContentSizeCategoryDidChange melding.
  • Als u traitCollectionDidChange op de bovenliggende weergave of de viewcontroller van een tekst gebruikt om te reageren op Dynamic Type.
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 en UIKit Picker

Picker-weergaven in SwiftUI en UIKit kunnen ervoor zorgen dat het framework vastloopt op simulators of apparaten. (#636)

Regels tegen Geneste Besturingselementen

Bij het verbeteren van onze regels hebben we ontdekt dat in XCTest geneste besturingselementen niet worden geretourneerd in de toegankelijkheidsboom. Er is een bug ingediend bij Apple. (#1110)

Vals positief: In Scroll View, ActiveControlName

We werken actief aan oplossingen voor de volgende valse positieven en zullen deze lijst bijwerken zodra er oplossingen zijn uitgebracht.

In Scroll View
Kan problemen melden voor tekst binnen elementen die zich als banners gedragen. Om deze elementen toegankelijk te maken voor mensen die grotere tekst nodig hebben, gebruik UILargeContentViewer. (#622) ActiveControlName
Als een UIImageView een `accessibilityIdentifier` heeft ingesteld, maar niet door VoiceOver kan worden gefocust, en er besturingselementen binnen genest zijn, kan ActiveControlName een vals positief geven op de UIImageView. Het verwijderen van de `accessibilityIdentifier` lost het probleem op. (#1178)

Vals negatief: Image View Name, Focusable Text in iOS 13 tot en met iOS 14.8.1

We werken actief aan oplossingen voor de volgende valse negatieven en zullen deze lijst bijwerken zodra er oplossingen zijn uitgebracht.

Image View Name
Als een UIImageView een `accessibilityIdentifier` heeft ingesteld maar niet door VoiceOver kan worden gefocust, kan ImageViewName een vals negatief geven op de UIImageView. Het verwijderen van de `accessibilityIdentifier` lost het probleem op. (#1188) Focusable Text
Elementen die als niet-toegankelijkheidselementen zijn gemarkeerd, kunnen onjuiste resultaten melden door een bug in Apple's framework.

Axe DevTools Mobile voor Android

Crash bij het gebruik van Proguard

Als uw debug- of testbuild Proguard gebruikt, volg dan de stappen om Deque te negeren in uw Proguard-instellingen.

Crash wanneer `minifiedEnabled` is ingesteld op true

Als je je build minimaliseert, zal er een crash optreden met een foutlog die meldt dat er geen adapter kon worden gevonden bij het proberen in te loggen op de Axe DevTools-bibliotheek. Schakel minimaliseren uit voor je debugsystemen waarop Axe DevTools is geïmplementeerd. (#729)

Fouten bij compileren met Java8-project en Axe DevTools Android 3.1.0

Probeer de volgende imports:

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 met r8 ingeschakeld geven een foutmelding

Een build met r8 ingeschakeld kan proberen de axeDevTools-bibliotheek te minimaliseren, wat resulteert in een foutmelding zoals:

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.** { *; }

Foutmelding vergelijkbaar met:
Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)

Als u een fout tegenkomt zoals `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)`, neem dan contact met ons op via helpdesk@deque.com of support.deque.com voor assistentie. Onder bepaalde omstandigheden kunnen er twee Compose-rootnodes tegelijkertijd bestaan.

Axe DevTools Mobile Dashboard

Sommige Android-scannamen zijn niet opgemaakt

Sommige Android-scannamen die standaard ingesteld zijn op de schermtitel zullen verschijnen als de volledige klassennaam inclusief de pakketidentifier. In een toekomstige release zal dit worden opgelost zodat de schermtitel wordt geformatteerd in een beter leesbare naam. Als tijdelijke oplossing kunt u de scannaam instellen vanuit het dashboard of frameworks. (#1643)