update
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From 8d1b276ce29e5c4cc193ce4207a2b929a550c8ce Mon Sep 17 00:00:00 2001
|
||||
From d9a3c249cc55792e7cfbe12fa8b69861a6bf1f96 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Sukany <martin@sukany.cz>
|
||||
Date: Sat, 28 Feb 2026 14:16:29 +0100
|
||||
Subject: [PATCH] ns: include overlay display strings in accessibility text
|
||||
@@ -34,17 +34,17 @@ Check BUF_OVERLAY_MODIFF; announce selected candidate text.
|
||||
|
||||
Tested on macOS 14 with VoiceOver and icomplete-vertical-mode.
|
||||
---
|
||||
src/nsterm.m | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 178 insertions(+)
|
||||
src/nsterm.m | 179 ++++++++++++++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 178 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/nsterm.m b/src/nsterm.m
|
||||
index 1780194..2a50a53 100644
|
||||
index 1780194..c7bba5b 100644
|
||||
--- a/src/nsterm.m
|
||||
+++ b/src/nsterm.m
|
||||
@@ -6921,6 +6921,92 @@ ns_create_font_panel_buttons (id target, SEL select, SEL cancel_action)
|
||||
with the count. Caller must free *OUT_RUNS with xfree(). */
|
||||
@@ -6915,11 +6915,96 @@ ns_create_font_panel_buttons (id target, SEL select, SEL cancel_action)
|
||||
are truncated for accessibility purposes. */
|
||||
#define NS_AX_TEXT_CAP 100000
|
||||
|
||||
static NSString *
|
||||
+/* Extract the currently selected candidate text from overlay display
|
||||
+ strings in window W. Completion frameworks (Vertico, Ivy, Icomplete)
|
||||
+ highlight the current candidate by applying a face property to a
|
||||
@@ -131,10 +131,15 @@ index 1780194..2a50a53 100644
|
||||
+}
|
||||
+
|
||||
+
|
||||
/* Build accessibility text for window W, skipping invisible text.
|
||||
Populates *OUT_START with the buffer start charpos.
|
||||
Populates *OUT_RUNS with an array of visible runs and *OUT_NRUNS
|
||||
with the count. Caller must free *OUT_RUNS with xfree(). */
|
||||
-
|
||||
static NSString *
|
||||
ns_ax_buffer_text (struct window *w, ptrdiff_t *out_start,
|
||||
ns_ax_visible_run **out_runs, NSUInteger *out_nruns)
|
||||
{
|
||||
@@ -7021,6 +7107,68 @@ ns_ax_buffer_text (struct window *w, ptrdiff_t *out_start,
|
||||
@@ -7021,6 +7106,68 @@ ns_ax_buffer_text (struct window *w, ptrdiff_t *out_start,
|
||||
pos = run_end;
|
||||
}
|
||||
|
||||
@@ -203,7 +208,7 @@ index 1780194..2a50a53 100644
|
||||
unbind_to (count, Qnil);
|
||||
|
||||
*out_runs = runs;
|
||||
@@ -8795,6 +8943,36 @@ ns_ax_completion_text_for_span (EmacsAccessibilityBuffer *elem,
|
||||
@@ -8795,6 +8942,36 @@ ns_ax_completion_text_for_span (EmacsAccessibilityBuffer *elem,
|
||||
[self postTextChangedNotification:point];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user