From 8f535561299e9c504c42cbc8f4ae33513fde24eb Mon Sep 17 00:00:00 2001 From: Nolan Darilek Date: Sat, 28 Dec 2019 14:41:36 -0600 Subject: [PATCH] Better label-guessing logic, and make associated labels non-focusable. --- Accessible.gd | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Accessible.gd b/Accessible.gd index ea09eb1..bb2476d 100644 --- a/Accessible.gd +++ b/Accessible.gd @@ -36,6 +36,9 @@ func guess_label(): var label = tokens.join(": ") if label: return label + for child in to_check.get_children(): + if child is Label: + return child to_check = to_check.get_parent() func accept_dialog_focused(): @@ -449,6 +452,8 @@ func focused(): TTS.stop() var label = guess_label() if label: + if label is Label: + label = label.text TTS.speak(label, false) if node is MenuButton: menu_button_focused() @@ -592,6 +597,9 @@ func _init(node): self.node = node if is_focusable(node): node.set_focus_mode(Control.FOCUS_ALL) + var label = guess_label() + if label is Label: + label.set_focus_mode(Control.FOCUS_NONE) node.connect("focus_entered", self, "focused") node.connect("mouse_entered", self, "click_focused") node.connect("focus_exited", self, "unfocused")