axe DevTools Mobile Release-opmerkingen van 24 september 2025
24 september 2025
Componentversies
iOS
- iOS SDK (axeDevToolsXCUI v3.0.0)
- iOS Analyzer (axe-devtools-mobile-analyzer v1.6.0)
- iOS Appium Driver (axe-appium-xcuitest-driver v2.0.0)
- (Geforkt van XCUITest v10.1.0)
Hoe te updaten: iOS SDK, iOS Analyzer, iOS Appium Driver
Android
- Android SDK (axe-devtools-android v8.0.1)
- Android Analyzer (axe Accessibility Analyzer v2.1.2)
- Android Appium Driver (axe-appium-uiautomator2-driver v2.0.1)
- (Geforkt van UiAutomator2 v5.0.1)
Hoe te updaten Android-SDK, Android Analyzer, Android Appium Driver
Reporter CLI
- axe DevTools Reporter CLI v4.11.1
Wat is er nieuw?
Android Nieuwe Regel: Genest Focusbaar Element
Deque heeft zich voortdurend ingezet om regels aan te bieden en te optimaliseren die echte toegankelijkheidsproblemen nauwkeurig detecteren. Onze nieuwste regel voor Android helpt ervoor te zorgen dat gebruikers van ondersteunende technologieën alle benodigde informatie ontvangen om met de gebruikersinterface te interageren. Lees meer over onze Genest Focusbaar Element regel.
Offline Appium-drivers
We hebben nu offline Appium-drivers beschikbaar voor gebruik met een licentiesleutel die door Deque wordt verstrekt. Dit kan nuttig zijn bij het werken met cloudproviders of om de prestaties in uw CI/CD-werkstroom te optimaliseren door netwerkverzoeken te verminderen.
Appium 3 Ondersteuning
Sinds onze laatste release heeft Appium nieuwe belangrijke versies van zijn drivers uitgebracht om de Appium 3-server te ondersteunen. We hebben *onze* hoofdversies aangepast om overeen te komen met de openbare repo, en we werken eraan om ervoor te zorgen dat er geen impact is op de axe-functionaliteit. Deze drivers ondersteunen volledig Appium 3. We verwachtten dat er achterwaartse compatibiliteit zou zijn met Appium 2, maar ontdekten een bug die we zo snel mogelijk proberen te verhelpen.
Oplossingen
iOS
- Meer beschrijvende logboeken wanneer
debugStatementszijn ingeschakeld - Verbeteringen in de nauwkeurigheid van de volgende regels: Aanraakdoelgrootte en Aanraakdoelafstand
Android
- Verbeteringen in de nauwkeurigheid van de volgende regels: Bewerk Tekstwaarde en Afbeeldingsviewnaam
axe DevTools Reporter CLI
- Er is een bug opgelost in HTML-rapporten voor het filteren van problemen op ernst in het geval van mobiele regels die meerdere ernstniveaus kunnen rapporteren
- Er is een probleem opgelost waarbij HTML-rapporten niet werden gegenereerd voor scannamen die schuine strepen bevatten
Updates
iOS en Xcode 26
Ons team heeft ijverig getest ter voorbereiding op de recente release van iOS en Xcode 26. Deze update zorgt ervoor dat het XCUI-framework en de Appium-driver kunnen draaien op iOS 26, met gebruik van Xcode 26. We hebben enkele wijzigingen geïdentificeerd met deze release die van invloed zijn geweest op hoe onze regels werken, dus we hebben Bekende problemen dienovereenkomstig bijgewerkt en zullen dit blijven doen naarmate we meer leren.
Offline sleutels
Offline automatiseringen zijn beschikbaar voor zowel onze SDK's als Appium-drivers, en voor allemaal is een offline licentiesleutel nodig voor verificatiedoeleinden. Neem contact op met uw Deque-vertegenwoordiger of ondersteuning om de levering van uw licentiesleutel te coördineren. Raadpleeg de FAQ voor meer informatie over het gebruik van de Offline SDK’s voor geoptimaliseerde prestaties zonder netwerkverzoeken.
Bekende problemen
Als u last heeft van een van de onderstaande problemen, neem dan contact met ons op via helpdesk@deque.com of support.deque.com. We kunnen u dan op de hoogte stellen zodra het probleem is opgelost of als er een workaround is gevonden als er geen is vermeld.
- axe DevTools Mobile geautomatiseerd testen draait op native iOS-, native Android- en React Native-applicaties. Neem contact op met uw Deque-vertegenwoordiger voor toegankelijkheidstestoplossingen voor uw technische stack.
- Hoewel u mogelijk enkele resultaten krijgt van webweergaven of gerenderde PDF's, raden we ten zeerste aan om te testen met axe DevTools voor Web of axe Monitor voor de meest complete toegankelijkheidstesten voor het web.
iOS
iOS 26 toegankelijkheidsbug met steppers
iOS 26 bevat een toegankelijkheidsbug waarbij standaard stepper-knoppen niet als "gedimd" worden aangegeven door ondersteunende technologieën om te laten zien dat ze niet zijn ingeschakeld. Hierdoor zien de iOS-regels deze knoppen ook als ingeschakeld, zelfs als dit niet het geval is. Er is een bugrapport ingediend bij Apple, maar totdat dit is opgelost, kunnen de volgende regels resultaten rapporteren op uitgeschakelde stepper-knoppen: AssociatedText, InaccessibleAction, en ColorContrast.
Totdat Apple deze bug oplost, zal de oplossing zijn om [de regels te negeren](ios-ignore-rule). De standaard stepper-knoppen hebben de identificaties "Decrement" en "Increment" en kunnen indien nodig op identificatie worden genegeerd.
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.
Kan geen scans uitvoeren op fysieke apparaten met iOS Analyzer 1.4.7
Een configuratie-instelling in iOS Analyzer 1.4.7 voorkomt dat scans worden uitgevoerd, wat resulteert in het bericht "Test mislukt". 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 met het testen van een applicatie via bundle-identificatie was gebroken in versie 2.8.1, wat resulteerde in een fout getiteld "No target application path specified via test configuration: ...". Update naar 2.8.2 of de nieuwste versie om de fout op te lossen. Update naar de 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 resulteerde in een "Could not Serialize AxeResult" fout. 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 positief: LabelInName en LabelAtFront in SwiftUI & Cross-Platform-apps
Sommige schermen kunnen valse positieven rapporteren met LabelInName en LabelAtFront vanwege een onjuiste associatedText-eigenschap die wordt gevonden (#1622)
Ondersteunt Dynamic Type-regel werkt niet met iOS 15 Pro-simulator
Er is een probleem met de iPhone 15 Pro-simulator waardoor de Supports Dynamic Type-regel niet wordt uitgevoerd. Als u aangemeld bent voor de Supports Dynamic Type-regel, kunt u deze niet testen met behulp van een iPhone 15 Pro-simulator. Er is een bugrapport ingediend bij Apple.
Regels tegen Geneste Besturingselementen
Tijdens het bekijken van een verbetering voor onze regels ontdekten we dat in XCTest geneste besturingselementen niet worden weergegeven in de toegankelijkheidsboom. Er is een bugrapport ingediend bij Apple. (#1110)
ImageView-naamregel heeft behoefte aan evaluatieresultaten voor UIKit-apps
In UIKit-apps is een afbeelding zonder een accessibilityLabel niet standaard focusbaar met ondersteunende technologieën.
De eigenschappen die we gebruiken om de focusbaarheid vanaf Apple te controleren, kunnen onnauwkeurig zijn wanneer een accessibilityIdentifier op de afbeelding is ingesteld. Vanwege dit onverwachte gedrag zullen resultaten voor ImageView Name-problemen in UIKit-apps worden gerapporteerd als Evaluatie Nodig. Er is een bugrapport ingediend bij Apple. (#1633)
Vals positief: In Scroll View, Label In Name, Label op Voorkant, en v2.11.0 Image View Name & ActiveControlName
We zijn actief bezig met het oplossen van de volgende false positives en zullen deze lijst bijwerken zodra oplossingen zijn uitgebracht.
In Scroll View
Kan problemen melden voor tekst binnen elementen die zich als een banner gedragen. Om deze elementen beschikbaar te maken voor mensen die grotere tekst nodig hebben, gebruik UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Als een UIImageView een accessibilityIdentifier heeft ingesteld maar niet door VoiceOver kan worden gefocust, en het bevat focusbare besturingselementen binnenin, kan ActiveControlName een false positive melden op de UIImageView. Het verwijderen van de accessibilityIdentifier lost het probleem op. Er is een bug gemeld bij Apple. (#1633)
Label In Name and Label At Front
Deze twee regels zoeken naar het zichtbare label van een besturingselement tussen naburige elementen om de status van de regel te bepalen. In sommige weergave-hiërarchieën kan de onjuiste naburige tekst worden gedetecteerd, waardoor deze regels kunnen falen. (#1622)
Android
Kleurcontrastregel werkt niet als tekst- en achtergrondkleuren hetzelfde 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 waar de tekst in een weergave dezelfde kleur heeft als de achtergrond, kan ons Machine Learning-algoritme niet detecteren of er tekst aanwezig is, zodat de Kleurcontrastregel niet op deze weergave wordt toegepast.
EditTextName op Android 7 (SDK 24-25)
Apps geschreven met XML die gebruik maken van de hinttekstfunctie kunnen false positives zien met 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. Meer recente versies van Android zijn beter toegerust om deze ervaring toegankelijk te maken.
Om dit probleem te verhelpen, 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 eerdere Android-versies, kunt u overwegen om het gebruik van de hintText functie te vermijden, omdat deze niet officieel wordt ondersteund.
Android verborgen weergaven die resultaten opleveren
U kunt resultaten zien voor weergaven die verborgen zijn achter andere weergaven op het scherm. Deze verborgen weergaven zijn niet beschikbaar voor ondersteunende technologieën, maar axe DevTools Mobile rapporteert 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 het uitvoeren van ML Kit Tekstherkenning
ML Kit tekstherkenning is vereist in veel van de axe DevTools Mobile-regels om de nauwkeurigheid van resultaten te waarborgen. De ML Kit-bibliotheek zou automatisch moeten worden geïmporteerd bij het verwijzen naar axe DevTools Mobile in uw geautomatiseerde Espresso- of UIAutomator-tests. In sommige gevallen gebeurt de automatische import echter niet en ziet u de volgende fout 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 build.gradle bestand van uw applicatie, voeg het volgende toe onder dependencies:
implementation 'com.google.mlkit:text-recognition:16.0.1'
Aanrakingsdoelafstand en Jetpack Compose
De Aanrakingsdoelafstandregel werkt momenteel niet op schuifregelaars die in Jetpack Compose zijn geschreven. Er kan op dit moment geen actie worden ondernomen. Er komt echter binnenkort een oplossing!
Fout bij het 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 machtigingsfout. Het resultaat wordt nog steeds als een JSON-bestand opgeslagen, ondanks dat deze fout wordt weergegeven. De fout kan worden onderdrukt door de code in het volgende blok commentaar te geven:
def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') {
executable "${android.getAdbExecutable().toString()}"
args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases'
// finalizedBy {
// fetchAndroidFolderAxeReportsTask
// }
}
Houd er rekening mee dat deze code alleen voor API 30 moet worden becommentarieerd, omdat het problemen zal veroorzaken bij het lokaal opslaan voor andere API-niveaus.
Scroll-detectie op hybride apps en cross-platform apps
In sommige hybride en cross-platform apps kunnen we onverwachte resultaten retourneren wanneer items in een scrollweergave gedeeltelijk van het scherm af zijn. Om een element te testen op toegankelijkheid, zorg ervoor dat het volledig op het scherm is voordat u de scan uitvoert.
Analyzer App: zwevende actiekop verdwijnt
Met API 31 (Android 12) is de mogelijkheid geïntroduceerd om niet-systeem overlays te verbergen. Om de axe Analyzer-app te kunnen gebruiken, zorg ervoor dat deze instelling niet is ingeschakeld. Als je ervoor hebt gekozen om deze functie te gebruiken vanwege de beveiligingsverbeteringen, raden we aan deze voor interne testbuilds uit te laten waar je veilig testgegevens kunt gebruiken en beveiligingsproblemen op die manier kunt elimineren. 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 oproepen naar de methode bij setHideOverlayWindows(true) naar setHideOverlayWindows(false) op de getroffen activiteitsvensters.
Screenshot ontbreekt (zwart blokje) in het dashboard
Om de volledige functionaliteit van axe DevTools voor Mobile te ontgrendelen, zorg ervoor dat schermopnamen zijn ingeschakeld. We raden aan om schermopnamen in te schakelen op een debug- of testversie van uw app die mock-gegevens gebruikt om beveiligingsproblemen te voorkomen. Bekijk onze gids voor schermafbeeldingen inschakelen in Android-apps.
Crash wanneer `minifiedEnabled` is ingesteld op true
Als u uw build minimaliseert, ziet u een crash met een foutrapportlog dat meldt dat een adapter niet kon worden gevonden bij het inloggen op de axe DevTools-bibliotheek. Schakel minify uit voor uw debug-builds met geïmplementeerde axe DevTools. (#729)
Builds met r8 ingeschakeld geven een fout
Een build met r8 ingeschakeld kan proberen de axeDevTools-bibliotheek te minimaliseren resulterend in een fout zoals:
Caused by: java.lang.NullPointerException: throw with null exception
Om deze fout op te lossen, voeg de volgende regel toe aan uw ProGuard-bestand om axeDevTools-klassen te behouden:
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)
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 alstublieft de lay-out agnostische API's om updates te blijven ontvangen. Als u de Compose API's blijft gebruiken en een fout tegenkomt 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 je dit bericht ziet, kunnen sommige regels niet het verwachte resultaat opleveren wanneer die regel gebruikmaakt van kunstmatige intelligentie. Betreffende regels zijn onder andere Kleurcontrastratio, Focusbare Tekst en Geneste Elementnaam. (#841)
MAUI: Regels voor Bewerken Tekstnaam
Vanwege beperkingen van de MAUI app-architectuur in het Android-ecosysteem, zal de regel voor Bewerken Tekstnaam als 'Nodigt uit tot beoordeling' in het dashboard worden weergegeven wanneer een fout wordt vermoed voor SDK versie 5.5.0 en hoger. Bevestig in dit geval het juiste gedrag handmatig.
Native Android: Aangepaste Dialogen / Modals
Wanneer je aangepaste dialogen of modals implementeert die geen gebruikmaken van de native controls, kun je resultaten krijgen voor weergaven achter de modal. In dit geval raden we aan om onze tool niet tegen deze aangepaste modals of dialogen te gebruiken, maar in plaats daarvan handmatig te controleren of ze naar wens functioneren met hulpmiddelen.
Web Dashboard
Ontbrekende Screenshot
Als de screenshot ontbreekt op de scangedetailleerde pagina, kan het zijn dat je app voorkomt dat er screenshots worden gemaakt. Vaak is dit om veiligheidsredenen in je productieapplicatie. Overweeg om deze eis voor je testbuild te verwijderen om volledige functionaliteit in de 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 class-naam inclusief de bundle identifier. In een toekomstige release zal dit worden opgelost zodat de schermtitel wordt omgezet naar een leesbaardere naam. Als tijdelijke oplossing kun je de scan naam instellen vanuit het dashboard of frameworks. (#1643)
