mirror of
https://github.com/lightsoutgames/godot-accessibility.git
synced 2024-11-21 19:45:55 +00:00
Focus and dialog presentation tweaks.
* Remove indiscriminant speech stop on focus events. * Only stop speech on input events that are keypresses. * Don't interrupt speech when a dialog is presented. Now dialogs present in their entirety without having their labels explicitly focused. This allows for Godot's default behavior, where the _OK_ button is automatically focused when the dialog appears, to speak the dialog text and the button as a screen reader user would expect.
This commit is contained in:
parent
6beeaa01bd
commit
c459a35f0d
|
@ -54,7 +54,8 @@ func _guess_label():
|
||||||
|
|
||||||
func _accept_dialog_speak():
|
func _accept_dialog_speak():
|
||||||
if node.dialog_text != "":
|
if node.dialog_text != "":
|
||||||
TTS.speak("dialog: %s" % node.dialog_text)
|
print("Speaking %s" % node.dialog_text)
|
||||||
|
TTS.speak("dialog: %s" % node.dialog_text, false)
|
||||||
|
|
||||||
|
|
||||||
func accept_dialog_focused():
|
func accept_dialog_focused():
|
||||||
|
@ -65,6 +66,7 @@ func accept_dialog_focused():
|
||||||
|
|
||||||
|
|
||||||
func _accept_dialog_about_to_show():
|
func _accept_dialog_about_to_show():
|
||||||
|
print("About to show")
|
||||||
_accept_dialog_speak()
|
_accept_dialog_speak()
|
||||||
|
|
||||||
|
|
||||||
|
@ -543,7 +545,6 @@ func tab_container_input(event):
|
||||||
|
|
||||||
func focused():
|
func focused():
|
||||||
print_debug("Focus: %s" % node)
|
print_debug("Focus: %s" % node)
|
||||||
TTS.stop()
|
|
||||||
if not node is Label:
|
if not node is Label:
|
||||||
var label = _guess_label()
|
var label = _guess_label()
|
||||||
if label:
|
if label:
|
||||||
|
@ -605,6 +606,8 @@ func click_focused():
|
||||||
|
|
||||||
|
|
||||||
func gui_input(event):
|
func gui_input(event):
|
||||||
|
if event is InputEventKey and event.pressed:
|
||||||
|
TTS.stop()
|
||||||
if (
|
if (
|
||||||
event is InputEventKey
|
event is InputEventKey
|
||||||
and Input.is_action_just_pressed("ui_accept")
|
and Input.is_action_just_pressed("ui_accept")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user