Bug 1 (VO cursor not following Emacs cursor): - Remove FocusedUIElementChangedNotification on emacsView (was a no-op: VO re-queried the same element) - For Emacs-initiated char/word moves, keep natural next/previous direction instead of forcing discontiguous; SelectedTextChanged with direction=next advances VO browse cursor sequentially - Only force discontiguous for line-boundary crossings and large jumps Bug 2 (word double-read with punctuation): - Root cause was FocusedUIElementChanged causing VO re-anchor speech on top of the explicit word announcement - Removing FocusedUIElementChanged eliminates the duplicate speech - Add emacsInitiated parameter to postFocusedCursorNotification; omit AXTextSelectionGranularity for Emacs-initiated moves so VO does not auto-speak (only explicit announcements provide speech) - isWordMove now triggers on emacsInitiated flag (Emacs-initiated word moves always get explicit announcement)
35 KiB
35 KiB