MKMapView and VoiceOver

I'm trying to add an MKMapView to my app, and finding it doesn't play nicely with VoiceOver. There are a couple issues.

Issue 1: The order of VoiceOver announcements is unpredictable when swiping through views on the screen. Sometimes the map contents are announced first, sometimes last, sometimes inline (as I would expect) between other views.

I can reproduce this even with a very simple single-view app with a single vertical stack view arranged like:
  • Top Label

  • Map View

  • Bottom Label

Typically, on iPhone, it will announce like:
  • Map View

  • Top Label

  • Bottom Label

And on iPad, it will announce like:
  • Top Label

  • Bottom Label

  • Map View

Issue 2: The order of elements within the map (points of interest, user location, custom annotations, etc) is odd too. It seems to announce all the points of interest first in left-right top-bottom order, followed by annotations and user location.

Is this expected behavior? Has anyone else encountered these issues? Any suggestions? I would prefer not to hide my map from VoiceOver, but if I can't get the behavior under control I might have to.

Thanks!
Mike
In case it helps anyone else, I ended up fixing issue 1 by wrapping the MKMapView like so:

Code Block swift
let wrapperView = UIView()
wrapperView.addSubview(mapView)
wrapperView.accessibilityElements = [mapView]

Still dealing with this issue on a screen I'm working on 8 months later. Is there any plan to address this by Apple?
MKMapView and VoiceOver
 
 
Q