diff options
| author | Michael Howell <michael@notriddle.com> | 2023-01-18 11:52:31 -0700 |
|---|---|---|
| committer | Michael Howell <michael@notriddle.com> | 2023-01-18 12:14:00 -0700 |
| commit | bb5fb53b30fd2216639ae85ab44ec4445e004556 (patch) | |
| tree | 2ced14a4932a01ad29feba024f7b8d8aff2dd931 | |
| parent | deb05758c8d7e13599617f322be8c03b22d1d724 (diff) | |
| download | rust-bb5fb53b30fd2216639ae85ab44ec4445e004556.tar.gz rust-bb5fb53b30fd2216639ae85ab44ec4445e004556.zip | |
rustdoc: fix "?" keyboard command when radio button is focused
This extends the special case with checkbox settings to also cover radios.
| -rw-r--r-- | src/librustdoc/html/static/js/main.js | 3 | ||||
| -rw-r--r-- | tests/rustdoc-gui/settings.goml | 10 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/librustdoc/html/static/js/main.js b/src/librustdoc/html/static/js/main.js index 6cb670d32a6..604ab147f6a 100644 --- a/src/librustdoc/html/static/js/main.js +++ b/src/librustdoc/html/static/js/main.js @@ -390,7 +390,8 @@ function loadCss(cssUrl) { } if (document.activeElement.tagName === "INPUT" && - document.activeElement.type !== "checkbox") { + document.activeElement.type !== "checkbox" && + document.activeElement.type !== "radio") { switch (getVirtualKey(ev)) { case "Escape": handleEscape(ev); diff --git a/tests/rustdoc-gui/settings.goml b/tests/rustdoc-gui/settings.goml index 2114e2cc4c2..4c72ed51a49 100644 --- a/tests/rustdoc-gui/settings.goml +++ b/tests/rustdoc-gui/settings.goml @@ -212,6 +212,16 @@ press-key: "?" wait-for-css: ("#settings-menu .popover", {"display": "none"}) wait-for-css: ("#help-button .popover", {"display": "block"}) +// Now switch back to the settings popover, and make sure the keyboard +// shortcut works when a check box is selected. +click: "#settings-menu > a" +wait-for-css: ("#settings-menu .popover", {"display": "block"}) +wait-for-css: ("#help-button .popover", {"display": "none"}) +focus: "#theme-system-preference" +press-key: "?" +wait-for-css: ("#settings-menu .popover", {"display": "none"}) +wait-for-css: ("#help-button .popover", {"display": "block"}) + // Now we go to the settings page to check that the CSS is loaded as expected. goto: "file://" + |DOC_PATH| + "/settings.html" wait-for: "#settings" |
