From 783fcf3a3cba81d17ca672c3c4ed5c1ea82bd317 Mon Sep 17 00:00:00 2001 From: Nolan Darilek Date: Thu, 10 Dec 2020 13:19:45 -0600 Subject: [PATCH] If an AcceptDialog has a label child and no dialog text, speak the label as if it were text. --- Accessible.gd | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Accessible.gd b/Accessible.gd index 9c9ecd5..54ed7c7 100644 --- a/Accessible.gd +++ b/Accessible.gd @@ -55,11 +55,20 @@ func _guess_label(): func _accept_dialog_speak(): + var text if node.dialog_text != "": - TTS.speak("Dialog: %s" % node.dialog_text, false) + text = node.dialog_text + else: + for c in node.get_children(): + if c is Label: + text = c.text + if text: + TTS.speak("Dialog: %s" % text, false) + else: + TTS.speak("Dialog", false) -func accept_dialog_focused(): +func _accept_dialog_focused(): _accept_dialog_speak() if node.get_parent() and node.get_parent().is_class("ProjectSettingsEditor"): yield(node.get_tree().create_timer(5), "timeout") @@ -591,7 +600,7 @@ func focused(): if node is MenuButton: menu_button_focused() elif node is AcceptDialog: - accept_dialog_focused() + _accept_dialog_focused() elif node is CheckBox: checkbox_focused() elif node is CheckButton: