patch 0002: Do not activate mark in setAccessibilitySelectedTextRange. VoiceOver range.length is an internal word-boundary hint, not a text selection. Activating the mark made accessibilitySelectedTextRange return a non-zero length, causing VoiceOver to position its browse cursor at the END of the selection instead of the START. patch 0003: Fix word announcement double-read and punctuation. - Explicit word announcement only for Emacs-initiated (discontiguous) moves; VO-initiated (sequential) word navigation relies on VO auto-speech from the granularity=word notification, preventing double-read. - Strip trailing/leading punctuation from word announcements using punctuationCharacterSet so 'Ahoj,' is announced as 'Ahoj'. patch 0008: Post FocusedUIElementChangedNotification on the EmacsView (not just on line-granularity moves) for all Emacs-initiated cursor movements. Posting on the view causes VoiceOver to re-query accessibilityFocusedUIElement and re-anchor its browse cursor at the current accessibilitySelectedTextRange. Also fixes a pre-existing off-by-one in the macos.texi hunk header.
20 KiB
20 KiB