51f59441c1b09735a9ed0ca1d3fa9a68a8c29f36
VoiceOver's browse cursor was not following Emacs cursor moves because FocusedUIElementChangedNotification was posted on the buffer element (a custom NSObject subclass), which VoiceOver ignores for browse cursor re-anchoring. Three changes: 1. Post FocusedUIElementChanged on the NSWindow instead of self, causing VoiceOver to call accessibilityFocusedUIElement on the window and re-anchor its browse cursor at the returned buffer element. 2. Post NSAccessibilityLayoutChangedNotification on self.emacsView with NSAccessibilityUIElementsKey pointing to the buffer element, causing VoiceOver to re-examine the element's properties including accessibilitySelectedTextRange. 3. Post SelectedTextChangedNotification from self.emacsView (an NSView) instead of self (NSObject), with NSAccessibilityUIElementsKey, so VoiceOver processes text-change notifications from a view-based element in the hierarchy.
# instalace mailu: brew install mu isync msmtp pak mbsync personal (musi existovat .mbsyncrc) pak mu init --maildir=~/.mail --my-address=martin@sukany.cz mu index
Description
Languages
Emacs Lisp
95.3%
Shell
4.7%