[Accessibility] Force keyboard focus to the exclusive child.

This commit is contained in:
Pāvels Nadtočajevs
2026-01-08 08:13:22 +02:00
parent b94ca9b0bc
commit 89372664a2

View File

@@ -823,6 +823,17 @@ void Window::_event_callback(DisplayServer::WindowEvent p_event) {
focused_window = this;
_propagate_window_notification(this, NOTIFICATION_WM_WINDOW_FOCUS_IN);
emit_signal(SceneStringName(focus_entered));
if (get_tree() && get_tree()->is_accessibility_enabled()) {
Window *w = exclusive_child;
while (w) {
if (w->exclusive_child) {
w = w->exclusive_child;
} else {
w->grab_focus();
break;
}
}
}
} break;
case DisplayServer::WINDOW_EVENT_FOCUS_OUT: {
focused = false;