axe DevTools Mobile Release-opmerkingen van 6 november 2025
6 november 2025
Componentversies
iOS
- iOS SDK (axeDevToolsXCUI v3.0.1)
- iOS Analyzer Xcode Project (axe-devtools-mobile-analyzer v1.7.0)
- iOS Analyzer Desktop App (axe-devtools-mobile-desktop-app v1.0.1)
- iOS Appium 2 Driver (axe-appium-xcuitest-driver v2.1.0)
- (Afgeleid van XCUITest v9.10.4)
- iOS Appium 3 Driver (axe-appium3-xcuitest-driver v1.0.0)
- (Afgeleid van XCUITest v10.4.3)
Hoe te updaten: iOS SDK, iOS Analyzer (Overschakelen naar de Mobile Analyzer Desktop App), iOS Appium Driver
Android
- Android SDK (axe-devtools-android v8.0.2)
- Android Analyzer (axe Accessibility Analyzer v2.1.3)
- Android Appium 2 Driver (axe-appium-uiautomator2-driver v2.1.0)
- (Afgeleid van UiAutomator2 v4.2.8)
- Android Appium 3 Driver (axe-appium3-uiautomator2-driver v1.0.0)
- (Afgeleid van UiAutomator2 v5.0.1)
Hoe Android te updaten Android-SDK, Android Analyzer, Android Appium Driver
Hoogtepunten
Updates voor bestaande mobiele scanmogelijkheden en de organisatie van resultaten
iOS Mobile Analyzer Desktop App
Met onze gebruiksvriendelijke Mac desktop-app kunt u eenvoudig verbinding maken met uw apparaat voor testen, zonder dat u een Bundle ID of API-sleutel nodig hebt. Als u het iOS Analyzer Xcode-project hebt gebruikt, leer dan Hoe over te schakelen naar de Mobile Analyzer Desktop App.
axe Developer Hub-integratie
Stuur toegankelijkheidsresultaten van uw geautomatiseerde tests naar axe Developer Hub - een centrale locatie voor het bekijken en beheren van toegankelijkheidsproblemen, waar scans automatisch worden gegroepeerd per testuitvoering. Hoewel u de resultaten nog steeds op zowel het Mobile Dashboard als in Developer Hub kunt vinden, zal het Dashboard uiteindelijk worden afgeschaft ten gunste van Developer Hub. Als u het Dashboard nog steeds gebruikt voor geautomatiseerde testresultaten, leer dan Hoe over te schakelen naar axe Developer Hub.
Hersteloplossingen
iOS
- Verbeteringen in de nauwkeurigheid van de volgende regels: Aanraakdoelgrootte en Aanraakdoelafstand
Android
- Updates voor gegevensverzameling in de axe Accessibility Analyzer App
- Verbeteringen in de nauwkeurigheid van de volgende regels: Label In Naam, Geneste Elementnaam en Schakelaarnaam
axe DevTools Reporter CLI
Updates
Appium-stuurprogramma's
Om achterwaartse compatibiliteit voor Appium 2 te behouden en ook Appium 3 te ondersteunen, gaan we nu twee aparte Appium-stuurprogramma's voor elk platform uitbrengen. De huidige pakketnamen blijven Appium 2 ondersteunen en gaan door met versies 2.x.x. De nieuwe pakketten krijgen de naam axe-appium3 en beginnen met versie 1.0.0.
iOS
- axe-appium-xcuitest-driver@2.1.0 -> Compatibel met alleen Appium 2
- axe-appium3-xcuitest-driver@1.0.0 -> Compatibel met alleen Appium 3
Android
- axe-appium-uiautomator2-driver@2.1.0 -> Compatibel met alleen Appium 2
- axe-appium3-uiautomator2-driver@1.0.0 -> Compatibel met alleen Appium 3
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 informeren zodra het is opgelost of als er een geïdentificeerde oplossing is als er geen vermeld is.
- axe DevTools Mobile geautomatiseerd testen draait op native iOS-, native Android- en React Native-toepassingen. Neem contact op met je Deque-vertegenwoordiger voor toegankelijkheidstestoplossingen op je technologiestack.
- Hoewel je enkele resultaten kunt verkrijgen van webviews of gerenderde PDF's, raden we ten zeerste aan om te testen met axe DevTools for Web of axe Monitor voor de meest uitgebreide toegankelijkheidstesten voor het web.
iOS
Onnauwkeurige isVisible eigenschap van XCTest
Apple's toegankelijkheids-API's kunnen onjuist webinhoud binnen WKWebView rapporteren als „isVisible“, zelfs wanneer de webview bedekt is door native overlays (zoals modale vensters, meldingen of andere native UI-elementen). Dit gebeurt omdat het toegankelijkheidssysteem controleert of de WKWebView-container zelf zichtbaar is, in plaats van of de webinhoud daadwerkelijk ongehinderd en waarneembaar is voor de gebruiker.
iOS 26 toegankelijkheidsbug met steppers
iOS 26 bevat een toegankelijkheidsbug waarbij standaard stapknoppen niet "gedimd" aankondigen via hulpmiddelen om aan te geven dat ze niet ingeschakeld zijn. Als gevolg daarvan ziet iOS-regels deze knoppen ook als ingeschakeld, zelfs als ze dat niet zijn. Er is een bugrapport ingediend bij Apple, maar totdat dit is opgelost, kunnen de volgende regels resultaten rapporteren over uitgeschakelde stapknoppen: AssociatedText, InaccessibleAction, en ColorContrast.
Totdat Apple deze bug oplost, is de oplossing om [de regels te negeren](ios-ignore-rule). De standaard stapknoppen hebben de identificatoren "Decrement" en "Increment", en kunnen indien nodig per identificator 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.
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 voorkomt dat scans worden uitgevoerd en geeft het bericht "Test mislukt" terug. Om scans op een fysiek apparaat uit te voeren, update naar het nieuwste iOS Analyzer-project.
Fout in Analyzer-project & Testen op Bundle ID in 2.8.1
Functionaliteit bij het testen van een toepassing met de bundle identifier was kapot in versie 2.8.1, wat resulteerde in een fout met de titel "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 toepassingen met deze versie van de analyzer en SDK zou resulteren 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.
False Positive: LabelInName en LabelAtFront in SwiftUI & Cross Platform-toepassingen
Sommige schermen kunnen false positives melden met LabelInName en LabelAtFront door een onjuiste associatedText-eigenschap die is gevonden (#1622)
Regel ter ondersteuning van Dynamische Type werkt niet met iOS 15 Pro-simulator
Er is een probleem dat de iPhone 15 Pro-simulator beïnvloedt en voorkomt dat de regel ter ondersteuning van Dynamische Type wordt uitgevoerd. Als je bent ingeschreven voor de regel ter ondersteuning van Dynamische Type, kun je deze niet testen met een iPhone 15 Pro-simulator. Er is een bug ingediend bij Apple.
Regels tegen geneste controls
Bij het bekijken van een verbetering voor onze regels ontdekten we dat in XCTest geneste controls niet worden geretourneerd in de toegankelijkheidsboom. Er is een bug ingediend bij Apple. (#1110)
ImageView Naam Regel heeft beoordelingsresultaten nodig voor UIKit-toepassingen
In UIKit-toepassingen is een afbeelding zonder een accessibilityLabel standaard niet focusbaar met ondersteunende technologieën.
De eigenschappen die we gebruiken om de focusbaarheid van Apple te controleren, kunnen onnauwkeurig zijn wanneer een accessibilityIdentifier is ingesteld op de afbeelding. Vanwege dit onverwachte gedrag zullen resultaten voor ImageView Naam problemen in UIKit-apps rapporteren als 'Moet beoordeeld worden'. Er is een bugrapport ingediend bij Apple. (#1633)
Fout Positief: In Scroll View, Label In Naam, Label Voorin, en v2.11.0 Image View Naam & ActiveControlNaam
We werken actief aan oplossingen voor de volgende fout-positieve resultaten en zullen deze lijst bijwerken zodra oplossingen worden uitgebracht.
In Scroll View
Kan problemen rapporteren voor tekst binnen elementen met banner-gedrag. Om deze elementen beschikbaar te maken voor degenen 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 focusbaar is door VoiceOver, en het heeft focusbare besturingselementen erbinnen genest, kan ActiveControlName een fout-positief rapporteren op 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 zichtbare label van een besturingselement tussen nabijgelegen elementen om de status van de regel te bepalen. In sommige weergavehiërarchieën kan de verkeerde nabijgelegen tekst worden gedetecteerd, waardoor deze regels falen. (#1622)
Android
Kleurcontrastregel wordt niet uitgevoerd wanneer 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 die in een weergave wordt weergegeven dezelfde kleur heeft als de achtergrond, kan ons Machine Learning-algoritme niet detecteren of er tekst aanwezig is, zodat de kleurcontrastregel niet wordt uitgevoerd op deze weergave.
EditTextName op Android 7 (SDK 24-25)
Apps geschreven in XML die gebruikmaken van de hinttekstfunctie kunnen fout-positieven zien bij de EditTextName regel. Hinttekst werd pas geïntroduceerd met Android 8 (SDK 26). Het gebruik van dit element in uw XML-app wijst de hinttekst toe 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 uw tests uit te voeren op nieuwere versies van Android. Als het belangrijk is dat de app toegankelijk is op oudere Android-versies, kunt u overwegen om het gebruik van het hintText kenmerk te vermijden, aangezien het niet officieel wordt ondersteund.
Android verborgen 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 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 garanderen. De ML Kit-bibliotheek moet automatisch worden geïmporteerd wanneer u verwijst 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 uw applicatie's build.gradle bestand, voegt u het volgende toe onder dependencies:
implementation 'com.google.mlkit:text-recognition:16.0.1'
Aanraakdoel-afstand en Jetpack Compositie
De aanraakdoel-afstandsregel wordt momenteel niet uitgevoerd op schuifregelaars die in Jetpack Compositie 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 opgeslagen als een JSON-bestand, ondanks dat deze fout wordt weergegeven. De fout kan onderdrukt worden door de code in het volgende blok uit te schakelen:
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 moet worden uitgeschakeld voor API 30, omdat dit problemen zal veroorzaken bij het lokaal opslaan voor andere API-niveaus.
Schrolldetectie in Hybrid Apps en Cross-Platform Apps
In sommige hybrid en cross-platform apps kunnen we onverwachte resultaten teruggeven wanneer items in een schrolweergave gedeeltelijk buiten beeld zijn. Om een element te testen op toegankelijkheid, zorg ervoor dat het volledig in beeld is voordat u de scan uitvoert.
Analyzer App: Drijvende Actieknop Verdwijnt
Geïntroduceerd met API 31 (Android 12) is de mogelijkheid om niet-systeemoverlays te verbergen. Om de axe Analyzer-app te gebruiken, moet u ervoor zorgen dat deze instelling niet is ingeschakeld. Als u ervoor hebt gekozen om deze functie te gebruiken vanwege de verbeteringen op het gebied van beveiliging, raden we aan deze uit te schakelen voor interne testversies waar u op veilige wijze testgegevens kunt gebruiken en beveiligingsrisico's 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 Toegankelijkheid Analyzer app te gebruiken, update alle aanroepen naar de methode setHideOverlayWindows(true) tot setHideOverlayWindows(false) op de getroffen activiteitenvensters.
Schermafbeelding 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 op een debug- of testversie van uw app die gebruikmaakt van mock-gegevens om beveiligingsproblemen te vermijden. 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 foutlog dat meldt dat een adapter niet kon worden gevonden bij het proberen in te loggen op de axe DevTools-bibliotheek. Schakel minimalisatie uit voor uw debug-builds met geïmplementeerde axe DevTools. (#729)
Builds met r8 ingeschakeld geven een fout
Een build met ingeschakelde r8 kan proberen de axeDevTools-bibliotheek te minimaliseren, wat resulteert in een fout zoals:
Caused by: java.lang.NullPointerException: throw with null exception
Om deze fout op te lossen, voegt u 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 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 de lay-out onafhankelijke API's om updates te blijven ontvangen. Als u de Compose API's blijft gebruiken en een fout tegenkomt zoals `Exact '1' knoop verwacht maar '2' knopen gevonden die voldoen aan: (isRoot)` of `Geen View geïnitialiseerd, heeft u AxeDevToolsCompose.setComposeTestRule() aangeroepen?`, raadpleeg dan Compose setTestTag API.
Logboekbericht:MlKitContext has not been initialized
Als u dit bericht tegenkomt, kunnen sommige regelresultaten mogelijk niet als verwacht terugkeren wanneer die regel kunstmatige intelligentie gebruikt. Betrokken regels zijn onder meer Kleurencontrast, Focusbare Tekst en Geneste Elementnaam. (#841)
MAUI: Regel Bewerken Tekstnaam
Vanwege beperkingen in de rendering van de MAUI-app-architectuur in het Android-ecosysteem, zal de regel Bewerken Tekstnaam als Beoordeling Nodig worden weergegeven in het dashboard wanneer er een mislukking wordt vermoed voor SDK-versie 5.5.0 en hoger. Bevestig in dit geval handmatig het correcte gedrag.
Native Android: Aangepaste Dialogen / Modalen
Wanneer u aangepaste dialogen of modalen implementeert die de native controls niet uitbreiden, kunt u resultaten krijgen voor weergaven achter het modaal. In dit geval raden we aan om onze tool niet tegen deze aangepaste modalen of dialogen te draaien en in plaats daarvan ze handmatig te controleren om ervoor te zorgen dat ze naar wens werken met ondersteunende technologie.
Webdashboard
Ontbrekende Screenshot
Als de screenshot ontbreekt op de scansdetailpagina, kan uw app voorkomen dat er screenshots worden gemaakt. Vaak is dit om veiligheidsredenen in uw productieapplicatie. Overweeg om deze vereiste te verwijderen voor uw testbuild om volledige functionaliteit mogelijk te maken in het axe DevTools Mobile Dashboard.
Sommige Android-scan namen zijn -ongeformatteerd
Sommige Android-scan namen die standaard de schermtitel als naam hebben, zullen worden weergegeven als de volledige klassennaam inclusief de bundelidentifier. In een toekomstige release zal dit opgelost worden zodat de schermtitel wordt geformatteerd tot een leesbaardere naam. Als tijdelijke oplossing kunt u de scan naam instellen vanuit het dashboard of frameworks. (#1643)
