SwiftUI - Detect when voiceover has finished

I am using AccesibilityFocusState with an enum to change focus to an error message if a user fills out a field incorrectly.

@AccessibilityFocusState private var accessFocus = Field?

Once the error message has been read, I would like to have the focus move back to the form field. I've seen some old UIKit ways of attempting this, but haven't found anything that would do it with SwiftUI.

The other issue is that I can't use an onChange event because it's just reading back text (the error msg). I need to allow voiceover to read the entire error message, and when it has completed reading, set my AccessibilityFocusState to a new value via:

accessFocus = .formField

Is there a way to do this with SwiftUI?

SwiftUI - Detect when voiceover has finished
 
 
Q