VoiceOver cursor does not follow keyboard focus when Shift+Tab moves to a focusable parent

On macOS, when navigating backwards with Shift+Tab from a focusable descendant to its focusable parent container, browser keyboard focus moves correctly, but the VoiceOver cursor remains on the descendant. document.activeElement confirms that the parent container has received focus, and the browser displays its focus indicator. However, VoiceOver continues to announce and visually indicate the previously focused descendant. The issue is reproducible:

The same navigation works correctly with NVDA on Windows: both keyboard focus and the screen reader cursor move to the parent.

Expected result: When Shift+Tab moves keyboard focus to the parent container, the VoiceOver cursor should follow and announce that container.

Actual result: Keyboard focus moves to the parent, but the VoiceOver cursor remains on the previously focused descendant.

Environment:

  • macOS 27.0.1 (26A434)
  • Safari 27.0.1
  • Chrome 155.0.8059.80
  • Firefox 133.0

Reported through Feedback Assistant as FB25212861

Thanks for the detailed repro, especially confirming it with the ARIA APG Feed example. Since document.activeElement and the visible focus ring move but VoiceOver's cursor doesn't, this looks like a mismatch between web focus and VoiceOver's reading cursor.

I don't know of a supported web API to move VoiceOver's cursor, so I wouldn't try to force it from page script. A minimal HTML repro from the APG example, including the parent markup and whether Quick Nav changes the result, would be useful alongside FB25212861. That can help show whether this is tied to one focus pattern or reproduces more generally.