Bug #13791
openWApplication::globalKeyWentDown dead as long as WMenu focused by mouse click
0%
Description
We are porting a desktop application, which must be fully accessible using the keyboard.
Affected: WApplication::globalKeyWentDown
of Wt 4.11.4
We have created a main menu using WMenu
and added dropdown menus (WPopupMenu
) using addMenu(const WString& text, std::unique_ptr<WMenu> menu)
.
After clicking menu items, key presses are not signaled.
After closing a dropdown by clicking again, key presses are still not signaled.
It needs a click to a "normal" widget, to receive keypresses again.
Fundamentally, menu items must be selectable using arrow keys and the Enter
key.
After closing a menu, the focus must return to the previously focused widget.
At least, WApplication::globalKeyWentDown
needs to work in order to be able to implement user-friendly menus.
We would greatly appreciate if there will be added generic keyboard support for menus.
Updated by Michael Seibt 11 days ago
WApplication::globalKeyWentDown
is also dead as long as a WLineEdit
or a WComboBox
-- most likely any WFormWidget
-- is focused.
Though the widget's keyWentDown
signal is emitted, i.e. the event is not internally consumed by the browser.
So it should be easy to emit globalKeyWentDown
regardless of the focused widget.
Updated by Michael Seibt 6 days ago
WDialog::keyWentDown
, WDialog::enterPressed
, WDialog::escapePressed
, etc. are affected as well!