diff --git a/Accessible.gd b/Accessible.gd index 12eb1f7..c0fafdc 100644 --- a/Accessible.gd +++ b/Accessible.gd @@ -54,7 +54,7 @@ func _guess_label(): func _accept_dialog_speak(): if node.dialog_text != "": - TTS.speak("dialog: %s" % node.dialog_text) + TTS.speak("dialog: %s" % node.dialog_text, false) func accept_dialog_focused(): @@ -66,6 +66,7 @@ func accept_dialog_focused(): func _accept_dialog_about_to_show(): _accept_dialog_speak() + ScreenReader.should_stop_on_focus = false func checkbox_focused(): @@ -543,7 +544,9 @@ func tab_container_input(event): func focused(): print_debug("Focus: %s" % node) - TTS.stop() + if ScreenReader.should_stop_on_focus: + TTS.stop() + ScreenReader.should_stop_on_focus = true if not node is Label: var label = _guess_label() if label: diff --git a/ScreenReader.gd b/ScreenReader.gd index 584a2a5..6f17edc 100644 --- a/ScreenReader.gd +++ b/ScreenReader.gd @@ -21,6 +21,7 @@ export var explore_by_touch_interval = 200 export var enable_focus_mode = false +var should_stop_on_focus = true func _set_enabled(v): if enabled: