Axe DevTools Mobile Release-opmerkingen 16 juli 2025
16 juli 2025
Componentversies
Android
- Android SDK (axe-devtools-android v7.0.1)
- Android Analyzer (Axe Accessibility Analyzer v2.0.1)
- Android Appium Driver (axe-appium-uiautomator2-driver v1.4.3)
- (Afgeleid van UiAutomator2 v4.2.4)
Hoe te updaten: Android SDK, Android Analyzer, Android Appium Driver
Oplossingen
- Een probleem met de schermoriëntatieregel is opgelost, zodat schermafbeeldingen dezelfde oriëntatie weergeven als waarin de scan werd gestart
- Een probleem opgelost met schermafbeeldingen van Appium-scans, zodat ze toegankelijk zijn op het mobiele dashboard en in gegenereerde HTML-rapporten.
Bekende problemen
Als u een van de onderstaande problemen ondervindt, neem dan contact met ons op via helpdesk@deque.com of support.deque.com. We kunnen u dan op de hoogte brengen zodra het is opgelost of van een geïdentificeerde oplossing als er geen is vermeld.
- Axe DevTools Mobile geautomatiseerde tests draaien op native iOS-, native Android- en React Native-applicaties. Neem contact op met uw Deque-vertegenwoordiger voor oplossingen voor toegankelijkheidstests op uw tech stack.
- Hoewel u enkele resultaten kunt krijgen van webviews of gerenderde PDF's, raden we ten zeerste aan testen uit te voeren met Axe DevTools voor Web of Axe Monitor voor de meest uitgebreide toegankelijkheidstests van het web.
iOS
Color Contrast rule does not run when text and background colors are the same
Our Color Contrast rule depends on Machine Learning to detect text, which ensures that the text being scanned is visible to users of your application. In cases where the text contained in a view is the same color as the background, our Machine Learning algorithm is unable to detect if any text is present, so the Color Contrast rule does not run on this view.
Niet in staat om scans op fysieke apparaten uit te voeren met iOS Analyzer 1.4.7
Een configuratie-instelling in de iOS Analyzer 1.4.7 voorkomt dat scans worden uitgevoerd, waardoor het bericht „Test mislukt“ wordt geretourneerd. Om scans op een fysiek apparaat uit te voeren, update naar het nieuwste iOS Analyzer-project.
Fout in Analyzer-project & testen via bundle-ID in 2.8.1
Functionaliteit bij het testen van een applicatie via bundle-ID was defect in versie 2.8.1, wat resulteerde in een foutbericht met de titel „Geen doeltoepassingspad opgegeven via testconfiguratie: ...“. Update naar 2.8.2 of de nieuwste versie om de fout op te lossen. Update binnen het iOS Analyzer-project naar de nieuwste versie.
Fout „Kon AxeResult niet serialiseren“ in Analyzer-project v1.2.0 & SDK v2.12.3
Het scannen van sommige toepassingen met deze versie van de analyzer en SDK zou resulteren in een fout „Kon AxeResult niet serialiseren“. Update naar de nieuwste versie om de fout op te lossen. Update naar het nieuwste iOS Analyzer-project.Update naar de nieuwste iOS SDK.
Vals positieve: LabelInName en LabelAtFront in SwiftUI & cross-platform apps
Sommige schermen kunnen valse positieven rapporteren met LabelInName en LabelAtFront vanwege een onjuist gevonden associatedText-eigenschap (#1622)
Supports Dynamic Type-regel werkt niet met iOS 15 Pro simulator
Er is een probleem met de iPhone 15 Pro-simulator dat voorkomt dat de Supports Dynamic Type-regel wordt uitgevoerd. Als u bent ingeschreven voor de Supports Dynamic Type-regel, kunt u deze niet testen met een iPhone 15 Pro-simulator. Er is een bug ingediend bij Apple.
Regels tegen geneste controles
Tijdens het bekijken van een verbetering voor onze regels, ontdekten we dat in XCTest, geneste controles niet worden geretourneerd in de toegankelijkheidsboom. Er is een bug ingediend bij Apple. (#1110)
ImageView Name-regel heeft beoordelingsresultaten nodig voor UIKit-apps
In UIKit-apps is een afbeelding zonder `accessibilityLabel` standaard niet focusbaar met ondersteunende technologie.
De eigenschappen die we gebruiken om focusbaarheid van Apple te controleren, kunnen onnauwkeurig zijn wanneer er een `accessibilityIdentifier` op de afbeelding is ingesteld. Vanwege dit onverwachte gedrag worden resultaten voor ImageView Name-problemen in UIKit-apps gerapporteerd als Behoeft Beoordeling. Er is een bugrapport ingediend bij Apple. (#1633)
Vals positief: In Scroll View, Label In Name, Label aan de Voorzijde en v2.11.0 Image View Name & ActiveControlName
We werken actief aan oplossingen voor de volgende valse positieven en zullen deze lijst bijwerken zodra er oplossingen worden vrijgegeven.
In Scroll View
Kan problemen melden voor tekst binnen elementen die zich als banier gedragen. Om deze elementen beschikbaar te maken voor degenen 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 focusbaar is met VoiceOver, en er zijn focusbare bedieningselementen erin genesteld, kan ActiveControlName mogelijk een foutmelding geven over de UIImageView. 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 een zichtbaar label van een bedieningselement tussen nabije elementen om de status van de regel te bepalen. In sommige weergave-hiërarchieën kan de onjuiste nabije tekst worden gedetecteerd, waardoor deze regels falen. (#1622)
Android
Kleurcontrastregel wordt niet uitgevoerd wanneer tekst- en achtergrondkleuren gelijk zijn
Onze kleurcontrastregel is afhankelijk van Machine Learning om tekst te detecteren, wat ervoor zorgt dat de gescande tekst zichtbaar is voor gebruikers van uw applicatie. In gevallen waarin de tekst in een weergave dezelfde kleur heeft als de achtergrond, is ons Machine Learning-algoritme niet in staat om te detecteren of er tekst aanwezig is, dus wordt de kleurcontrastregel niet uitgevoerd op deze weergave.
EditTextName op Android 7 (SDK 24-25)
Apps geschreven in XML die de hinttekstfunctie gebruiken, kunnen valse positieven zien bij de EditTextName regel. Hinttekst werd pas geïntroduceerd met Android 8 (SDK 26). Door dit element in uw XML-app te gebruiken, wordt de hinttekst toegewezen aan de waarde van het tekstinvoerveld. Nieuwere versies van Android zijn beter uitgerust om deze ervaring toegankelijk te maken.
Om dit probleem te overwinnen, is onze eerste aanbeveling om uw tests op nieuwere versies van Android uit te voeren. Als het belangrijk is dat de app toegankelijk is op oudere Android-versies, kunt u overwegen om het gebruik van de hintText functie te vermijden, aangezien deze niet officieel wordt ondersteund.
Verborgen Android-weergaven die resultaten geven
U 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 meldt ze nog steeds als problemen.
We werken aan een oplossing voor dit complexe probleem. In de tussentijd, als TalkBack deze weergaven niet kan bereiken, kunt u de bijbehorende problemen negeren. Ze vereisen geen oplossing om toegankelijkheid te garanderen.
Fout bij uitvoeren van ML Kit Tekstherkenning
ML Kit-tekstherkenning is vereist in veel van de Axe DevTools Mobile-regels om de nauwkeurigheid van resultaten te garanderen. De ML Kit-bibliotheek zou automatisch geïmporteerd moeten worden wanneer Axe DevTools Mobile wordt aangeroepen in uw geautomatiseerde Espresso- of UIAutomator-tests. In sommige gevallen gebeurt de automatische import echter niet en ziet u de volgende foutmelding in de logcat:
Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.
Om dit probleem op te lossen, moet u de ML Kit-bibliotheek handmatig in uw project importeren. In het bestand van uw applicatie build.gradle voegt u het volgende toe onder dependencies:
implementation 'com.google.mlkit:text-recognition:16.0.1'
Aanraaktargetafstand en Jetpack Compose
De aanraaktargetafstandregel wordt momenteel niet uitgevoerd op slidercomponenten die zijn geschreven in Jetpack Compose. Op dit moment kan er geen actie worden ondernomen. Er komt echter binnenkort een oplossing!
Fout bij lokaal opslaan van resultaten op API 30
Op Android API 30 heeft een van de locaties waar we proberen resultaten lokaal op te slaan een permissiefout. 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 uit te commentarië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 op Hybride Apps en Cross-Platform Apps
In sommige hybride en cross-platform apps kunnen we onverwachte resultaten teruggeven wanneer items in een scrollweergave gedeeltelijk van het scherm zijn. Om een element op toegankelijkheid te testen, zorgt u ervoor dat het volledig op het scherm is voordat u de scan uitvoert.
Analyzer-app: zwevende actieknop verdwijnt
Geïntroduceerd met API 31 (Android 12) is de mogelijkheid om niet-systeem overlays te verbergen. Om de Axe Analyzer-app te kunnen gebruiken, zorg ervoor dat deze instelling niet is ingeschakeld. Als u ervoor heeft gekozen om deze functie te gebruiken voor de verbeterde beveiliging, raden we aan deze uitgeschakeld te laten voor interne testbuilds waar u veilig testgegevens kunt gebruiken en beveiligingsproblemen op die manier kunt uitschakelen. 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, werk alle aanroepen naar de methode bij setHideOverlayWindows(true) naar setHideOverlayWindows(false) op de getroffen activiteitsvensters.
Schermafbeelding ontbreekt (zwarte doos) op het dashboard
Om de volledige functionaliteit van Axe DevTools voor Mobile te ontsluiten, zorgt u ervoor dat screenshots zijn ingeschakeld. We raden aan screenshots in te schakelen op een debug- of testversie van uw app die mock data gebruikt om beveiligingsproblemen te vermijden. Bekijk onze handleiding voor schermafbeeldingen inschakelen in Android-apps.
Crash wanneer `minifiedEnabled` is ingesteld op true
Als u uw build minimaliseert, ziet u een crash met een foutrapport dat een adapter niet kon worden gevonden wanneer u probeert in te loggen op de Axe DevTools-bibliotheek. Schakel minify uit voor uw debugbuilds met Axe DevTools geïmplementeerd. (#729)
Builds met r8 ingeschakeld geven een fout
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 zoals:
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 de lay-outagnostische API's om updates te blijven ontvangen. Als u de Compose API's blijft gebruiken en een fout tegenkomt zoals `Exact '1' node verwacht maar '2' nodes gevonden die voldoen aan: (isRoot)` of `Geen View geïnitialiseerd, heeft u AxeDevToolsCompose.setComposeTestRule() aangeroepen?`, raadpleeg dan Compose setTestTag API.
Logbericht:MlKitContext has not been initialized
Als u dit bericht tegenkomt, kunnen sommige regelresultaten niet terugkeren zoals verwacht wanneer die regel gebruikmaakt van kunstmatige intelligentie. Getroffen regels zijn onder andere Kleurcontrast, Focusbare Tekst en Geneste Elementnaam. (#841)
MAUI: regel voor bewerkbare tekstnaam
Vanwege beperkingen van de MAUI-apparchitectuur in het Android-ecosysteem zal de Edit Text Name-regel als Beoordeling Nodig verschijnen op het dashboard wanneer een falen wordt vermoed voor SDK-versie 5.5.0 en hoger. Controleer voor dit geval handmatig of het gedrag correct is.
Native Android: Aangepaste Dialogen / Modals
Wanneer u aangepaste dialogen of modals implementeert die niet de native bedieningselementen uitbreiden, kunt u resultaten krijgen voor weergaven achter de modal. In dit geval raden we aan onze tool niet uit te voeren op deze aangepaste modals of dialogen en in plaats daarvan handmatig te controleren of ze met ondersteunende technologie naar wens functioneren.
Webdashboard
Ontbrekende Screenshot
Als de screenshot ontbreekt op de scangegevenspagina, kan het zijn dat uw app voorkomt dat er screenshots worden gemaakt. Vaak is dit om beveiligingsredenen in uw productieapplicatie. Overweeg om deze vereiste te verwijderen voor uw testbuild om volledige functionaliteit in het Axe DevTools Mobile Dashboard mogelijk te maken.
Sommige Android-scan namen zijn niet opgemaakt
Sommige Android-scan namen die standaard de schermtitel gebruiken, zullen verschijnen als de volledige klassennaam inclusief de bundelidentifier. In een toekomstige release zal dit worden opgelost zodat de schermtitel wordt geformatteerd in een leesbaardere naam. Als tijdelijke oplossing kun je de scannaam instellen vanuit het dashboard of frameworks. (#1643)
