SwiftUI Full keyboard access doesn't navigate through every button on screen

I have screen in my app that can represented by following layout, I would like this screen to be possible to navigate with full keyboard access but there is unexpected behavior:

Path:

  1. Tap "Tab" on keyboard -> whole scrollview is targeted and inside the first button1 is selected.
  2. Arrow down -> selection changes to button3
  3. Arrow up -> selection changes back to button1

So button2 is always skipped, there is no way to navigate to it by arrows left/right.

Using Tab+F and searching "button2", button2 is correctly selected, so it's selectable but for some reason not findable by going through elements.

Putting empty text in Text views cause buttons to be vertically aligned and then everything works correctly but it is not an option.

public struct BugReportView: View {
public var body: some View {
ScrollView {
VStack(spacing: .zero) {
Button("button1", action: { })
HStack {
Text("some text")
Text("some text2")
Button("button2", action: { })
}
Button("button3", action: { })
}
}
}
}
SwiftUI Full keyboard access doesn't navigate through every button on screen
 
 
Q