axe DevTools Mobile Release Notes 26 maart 2025

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

26 maart 2025

Not for use with personal data

Componentversies

iOS

  • iOS SDK (axeDevToolsXCUI v2.14.1)
  • iOS Analyzer (axe-devtools-mobile-analyzer v1.4.9)
  • iOS Appium Driver (axe-appium-xcuitest-driver v1.3.0)

Hoe te updaten: iOS SDK, iOS Analyzer, iOS Appium Driver

Android

  • Android SDK (axe-devtools-android v6.2.0)
  • Android Analyzer (axe Accessibility Analyzer v1.12.0)
  • Android Appium Driver (axe-appium-uiautomator2-driver v1.4.0)

Hoe te updaten Android SDK, Android Analyzer, Android Appium Driver

Wat is er nieuw?

SDK

Bij het schrijven van je tests kun je er nu voor kiezen om experimentele regels van de axe DevTools Mobile SDK's te negeren. Aangezien experimentele regels nog steeds in ontwikkeling zijn, kun je ervoor kiezen om je te concentreren op resultaten gebaseerd op de standaard regels.

Appium Driver

Je hebt verschillende nieuwe opties wanneer je scant met onze Appium-drivers. Je kunt:

  • Experimentele regels negeren bij het instellen van je configuratie
  • Het uploaden van scans naar het Mobile Dashboard uitschakelen, om het aantal netwerkverzoeken te verminderen en de scansnelheid te verbeteren
  • Een link naar een scan op het Mobile Dashboard maken met behulp van de resultaatcode

Meer informatie op de Appium Functies pagina.

Oplossingen

iOS

  • Opgehelderd couldNotSerializeResult fout voor weergaven die oneindig groot zijn
  • Verminderde vals positieven voor weergaven die gedeeltelijk buiten het scherm vallen
  • Verbeteringen aan de nauwkeurigheid van Kleurcontrast en Botsende Weergaven regels

Android

  • Een probleem opgelost met hoe de screenshot wordt opgeslagen in de scan
  • Verminderde vals positieven voor WebViews
  • Voorkomen van crashes op het inlogscherm van de Analyzer-app
  • Verbeteringen aan de nauwkeurigheid van de volgende regels: Aanraakdoelafstand, ImageView Naam, Label Voorop, en Focusbare Tekst

Bekende Probleemgevallen

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 is opgelost of als er een geïdentificeerde oplossing is, als deze niet is vermeld.

important
  • axe DevTools Mobile voert geautomatiseerde tests uit op native iOS-, native Android- en React Native-toepassingen. Neem contact op met je Deque-vertegenwoordiger voor toegankelijkheidstestoplossingen voor je technologiepakket.
  • Hoewel je enkele resultaten kunt krijgen van webviews of gerenderde PDF's, raden wij aan om te testen met axe DevTools voor Web of axe Monitor voor de meest uitgebreide toegankelijkheidstest voor het web.

iOS

Niet in staat om scans uit te voeren op fysieke apparaten met iOS Analyzer 1.4.7

Een configuratie-instelling in de iOS Analyzer 1.4.7 verhindert het uitvoeren van scans en geeft het bericht „Test mislukt“. Om scans op een fysiek apparaat uit te voeren, werk bij naar het nieuwste iOS Analyzer-project.

Fout in Analyzer Project & Testen op Bundle ID in 2.8.1

Functionaliteit voor het testen van een applicatie via bundle-id was defect in versie 2.8.1, wat resulteerde in een fout met de titel „Geen doeltoepad gespecificeerd via testconfiguratie: ...“. Update naar 2.8.2 of de laatste versie om de fout op te lossen. Werk bij naar het nieuwste binnen het iOS Analyzer-project.

„Kon AxeResult niet serialiseren“-fout in Analyzer Project v1.2.0 & SDK v2.12.3

Het scannen van sommige applicaties met deze versie van de analyzer en SDK resulteert in een fout „Kon AxeResult niet serialiseren“. Update naar de nieuwste versie om de fout op te lossen. Werk bij naar het nieuwste iOS Analyzer-project.Werk bij naar de nieuwste iOS SDK.

Vals positief: LabelInName en LabelAtFront in SwiftUI & Cross Platform-apps

Sommige schermen kunnen valse positieve meldingen geven met LabelInName en LabelAtFront vanwege een onjuiste gevonden property associatedText (#1622)

Ondersteunt Dynamic Type-regel werkt niet met iOS 15 Pro-simulator

Er is een probleem dat de iPhone 15 Pro-simulator beïnvloedt, waardoor de Ondersteunt Dynamic Type-regel niet kan worden uitgevoerd. Als je bent ingeschreven voor de Ondersteunt Dynamic Type-regel, kun je deze niet testen met een iPhone 15 Pro-simulator. Er is een bug gerapporteerd bij Apple.

Regels tegen geneste controles

Tijdens het bekijken van een verbetering voor onze regels ontdekten we dat in XCTest geneste controles niet worden weergegeven in de toegankelijkheidsboom. Er is een bug gerapporteerd bij Apple. (#1110)

ImageView Naam-regel heeft beoordeling van resultaten nodig voor UIKit-apps

In UIKit-apps is een afbeelding zonder een `accessibilityLabel` standaard niet toegankelijk met ondersteunende technologie.
De eigenschappen die we gebruiken om de toegankelijkheid via Apple te controleren, kunnen onnauwkeurig zijn wanneer een `accessibilityIdentifier` op de afbeelding is ingesteld. Door dit onverwachte gedrag zullen resultaten voor ImageView Naam-problemen in UIKit-apps als Beoordeling Nodig worden gerapporteerd. Er is een bugrapport ingediend bij Apple. (#1633)

Vals positief: In Scroll View, Label In Name, Label op Head en v2.11.0 Image View Naam & ActiveControlName

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

In Scroll View
Er kunnen problemen worden gemeld voor tekst binnen banner-gedragende elementen. Om deze elementen toegankelijk te maken voor gebruikers die grotere tekst vereisen, gebruik UILargeContentViewer. (#622)

v2.11.0 Image View Name & Active Control Name
Als een UIImageView een `accessibilityIdentifier` heeft ingesteld maar niet toegankelijk is voor VoiceOver, en het bevat toegankelijke controles erin genesteld, kan ActiveControlName een vals positief op de UIImageView rapporteren. Het verwijderen van de `accessibilityIdentifier` lost het probleem op. Er is een bug ingediend bij Apple. (#1633)

Label In Name and Label At Front
Deze twee regels zoeken naar het zichtbare label van een controle tussen nabijgelegen elementen om de regelstatus te bepalen. In sommige weergavehiërarchieën kan de verkeerde nabijgelegen tekst worden gedetecteerd, waardoor deze regels falen. (#1622)

Android

EditTextName op Android 7 (SDK 24-25)

Apps geschreven met XML die gebruikmaken van de hint-tekstfunctie kunnen valse positiefs zien met de EditTextName regel. Hint-tekst werd pas geïntroduceerd in Android 8 (SDK 26). Door dit element in je XML-app toe te passen, wordt de hint-tekst toegewezen aan de waarde van het tekstinvoerveld. Meer recente versies van Android zijn beter uitgerust om deze ervaring toegankelijk te maken.

Om dit probleem te overwinnen, is onze eerste aanbeveling om je tests op nieuwere versies van Android uit te voeren. Als het belangrijk is dat de app toegankelijk is op eerdere Android-versies, overweeg dan om het gebruik van de hintText functie te vermijden, daar hiervoor geen officiële ondersteuning is.

Android verborgen weergaven die resultaten geven

Je kunt resultaten zien voor weergaven die verborgen zijn achter andere weergaven op het scherm. Deze verborgen weergaven zijn niet beschikbaar voor ondersteunende technologie, maar axe DevTools Mobile rapporteert ze toch als problemen.

We werken aan een oplossing voor dit complexe probleem. In de tussentijd, als TalkBack deze weergaven niet kan bereiken, kun je de bijbehorende problemen negeren. Ze vereisen geen oplossing om toegankelijkheid te garanderen.

Fout bij het uitvoeren van ML Kit Tekstherkenning

ML Kit tekstherkenning is vereist in veel van de axe DevTools Mobile-regels om de nauwkeurigheid van de resultaten te waarborgen. De ML Kit-bibliotheek zou automatisch geïmporteerd moeten worden bij het refereren aan axe DevTools Mobile in je geautomatiseerde Espresso of UIAutomator-tests. In sommige gevallen gebeurt de automatische import echter niet en zie je de volgende foutmelding in de logcat:

Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.

Om dit probleem te verhelpen, moet je de ML Kit-bibliotheek handmatig in je project importeren. Voeg in het build.gradle bestand van je applicatie het volgende toe onder afhankelijkheden:

implementation 'com.google.mlkit:text-recognition:16.0.1'

Touch Target Afstand en Jetpack Compose

De Touch Target Afstand-regel wordt momenteel niet uitgevoerd op enige schuifregelaar-componenten die in Jetpack Compose zijn geschreven. Op dit moment kan er geen actie worden ondernomen. Een oplossing is echter binnenkort beschikbaar!

Fout bij het lokaal opslaan van resultaten op API 30

In Android API 30 is er een toestemmingsfout op een van de locaties waar we proberen resultaten lokaal op te slaan. Het resultaat wordt nog steeds opgeslagen als een JSON-bestand, ondanks dat deze fout wordt weergegeven. De fout kan worden onderdrukt door de code in het volgende blok te becommentariëren:

def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') {
    executable "${android.getAdbExecutable().toString()}"
    args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases'
//    finalizedBy {
//        fetchAndroidFolderAxeReportsTask
//    }
}

Please note that this code should only be commented out for API 30 as it will cause problems when saving locally for other API levels.

Scroll-detectie in Hybride Apps en Cross-Platform Apps

In sommige hybride en cross-platform apps kunnen onverwachte resultaten worden geretourneerd wanneer items in een scrollweergave gedeeltelijk van het scherm zijn. Zorg ervoor dat een element volledig op het scherm is voordat je de scan uitvoert om de toegankelijkheid te testen.

Analyzer App: Zwevende actieknop verdwijnt

Geïntroduceerd met API 31 (Android 12) is de mogelijkheid om niet-systeemoverlays te verbergen. Om de axe Analyzer-app te gebruiken, zorg ervoor dat deze instelling niet is ingeschakeld. Als u ervoor hebt gekozen om deze functie te gebruiken vanwege de beveiligingsverbeteringen, raden we aan deze uit te laten voor interne testversies waar u veilig testgegevens kunt gebruiken en zo beveiligingsproblemen kunt vermijden. Note: this setting does not affect Google's accessibility scanner app as it's considered a system overlay.

Om de axe Accessibility Analyzer-app te gebruiken, actualiseer eventuele aanroepen naar de methode setHideOverlayWindows(true) tot setHideOverlayWindows(false) op de betreffende activiteitvensters.

Screenshot ontbreekt (zwart vak) in het Dashboard

Om de volledige functionaliteit van axe DevTools voor mobiel te ontgrendelen, zorg ervoor dat schermafbeeldingen zijn ingeschakeld. We raden aan om schermafbeeldingen in te schakelen in een debug- of testversie van uw app die mockgegevens gebruikt om beveiligingsproblemen te voorkomen. Bekijk onze gids voor het inschakelen van schermafbeeldingen in Android-apps.

Crash wanneer `minifiedEnabled` is ingesteld op true

Als u uw build minimaliseert, ziet u een crash met een foutlog waarin wordt gemeld dat een adapter niet kon worden gevonden bij het inloggen op de axe DevTools-bibliotheek. Schakel minimaliseren uit voor uw debugbuilds met geïmplementeerde axe DevTools. (#729)

Builds met ingeschakelde r8 veroorzaken een fout

Een build met ingeschakelde r8 kan proberen de axeDevTools-bibliotheek te minimaliseren, resulterend in een foutmelding vergelijkbaar met:

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)
of: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?

De Compose-API's zijn verouderd, gebruik alstublieft de layout-onafhankelijke API's om updates te blijven ontvangen. Als u de Compose-API's blijft gebruiken en een fout ervaart zoals `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` of `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, raadpleeg dan Compose setTestTag API.

Logbericht:MlKitContext has not been initialized

Als u dit bericht tegenkomt, kunnen sommige regelresultaten mogelijk niet zoals verwacht terugkeren wanneer die regel kunstmatige intelligentie gebruikt. Beïnvloede regels zijn onder andere Kleurcontrast, Focusbare tekst en Geneste elementnaam. (#841)

MAUI: Bewerken tekstnaam regel

Vanwege beperkingen van de MAUI-apparchitectuur in het Android-ecosysteem, zal de regel voor Bewerken Tekstnaam als Beoordeling nodig worden weergegeven op het dashboard wanneer een fout wordt vermoed voor SDK-versie 5.5.0 en hoger. Bevestig in dit geval handmatig het juiste gedrag.

Native Android: Aangepaste dialogen/Modals

Wanneer u aangepaste dialogen of modals implementeert die de native controls niet uitbreiden, kunt u resultaten krijgen voor bekijkingen achter de modal. In dit geval raden we aan onze tool niet tegen deze aangepaste modals of dialogen te gebruiken en ze in plaats daarvan handmatig te controleren om ervoor te zorgen dat ze zoals gewenst werken met hulpmiddelen voor toegankelijkheid.

Webdashboard

Ontbrekende Screenshot

Als de screenshot ontbreekt op de pagina met scantdetails, kan het zijn dat uw app voorkomt dat er screenshots worden gemaakt. Vaak is dit om veiligheidsredenen in uw productie-app. Overweeg deze vereiste voor uw testbuild te verwijderen om de volledige functionaliteit in het axe DevTools Mobile Dashboard mogelijk te maken.

Sommige Android-scan namen zijn niet opgemaakt

Sommige Android-scan namen die standaard op de schermtitel zijn ingesteld, zullen verschijnen als de volledige klassennaam inclusief de bundeidentifier. In een toekomstige release zal dit worden opgelost zodat de schermtitel wordt opgemaakt naar een leesbaardere naam. Als tijdelijke oplossing kunt u de scannaam instellen vanuit het dashboard of via frameworks. (#1643)