Automation Id for Picker tool's "Done" button is unavailable in iOS 26.0

Dilan Perera 20 Reputation points
2025-11-27T01:33:40.4866667+00:00

Hi there,

I have a Picker element being used in my .NET MAUI app (in .NET 9).

Testing is being carried out using real devices on Browser Stack. Automation is carried out using Appium.

In previous versions of iOS prior to iOS 26.0, the Automation Id for "Done" button of the Picker is present.

But in iOS 26 it is unavailable. The Automation Id is not present.

Following screenshot is from iOS 18.6 where it has the Automation Id "DoneToolbarButton" and the xpath is also looks good with the Automation Id.

image

Following screenshot is from iOS 26.0 where it doesn't have the Automation Id "DoneToolbarButton" and the xpath is broken where it Has "Done" instead of the expected Automation Id.

image (1)

Whole automation process is broken due to this issue.

Pls look into this at your earliest convenience and let me know if there any additional information needed.

Thanks,

Dilan

Developer technologies | .NET | .NET MAUI
0 comments No comments
{count} votes

Answer accepted by question author
  1. Jack Dang (WICLOUD CORPORATION) 4,945 Reputation points Microsoft External Staff Moderator
    2025-11-27T06:36:59.9633333+00:00

    Hi @Dilan Perera ,

    Thanks for reaching out.

    In iOS 26, the UIBarButtonItem.Style.done has been deprecated and replaced with the new prominent style. Buttons using this style, like the Picker’s “Done” button, now have a more eye-catching appearance and are often tinted with the app’s accent color by default. As a result:

    • The Automation Id DoneToolbarButton that was available in older iOS versions is no longer automatically exposed.
    • Appium scripts relying on this Automation Id may break.

    This change is documented in Apple’s official documentation for UIBarButtonItem.Style.prominent: https://developer.apple.com/documentation/uikit/uibarbuttonitem/style-swift.enum/prominent

    It’s also discussed in this blog covering what’s new in UIKit 26: https://sebvidal.com/blog/whats-new-in-uikit-26/

    Recommended approaches:

    1. Update automation to use the new button
      • Appium can locate the “Done” button via its visible label/text ("Done") or via the new default checkmark image.
      • This is the simplest solution if updating the automation script is acceptable.
    2. Keep existing Automation Id
      • If you prefer not to change your automation, you can implement a custom toolbar for the Picker and assign a fixed Automation Id to the “Done” button.
      • This approach allows Appium to continue using DoneToolbarButton even on iOS 26.

    Disclaimer: Some of the links provided are not Microsoft websites. The pages appear to be providing accurate, safe information. Watch out for ads on these sites that may advertise products frequently classified as a PUP (Potentially Unwanted Products). Thoroughly research any product advertised on these sites before you decide to download and install it.

    Hope this helps! If my answer was helpful - kindly follow the instructions here so others with the same problem can benefit as well.


0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.