Rollup merge of #110661 - notriddle:notriddle/settings-js-handlekey, r=GuillaumeGomez
rustdoc: clean up settings.css and settings.js `handleKey` was added in 9dc5dfb97504c538bc72f367a77bb9f714c30097 and 704050da2334c465784954d81c8990c4bc7a92c5 because the browser-native checkbox was `display: none`, breaking native keyboard accessibility. The native checkbox is now merely `appearance: none`, which does not turn off [behavior semantics], so JavaScript to reimplement it isn't needed any more. [behavior semantics]: https://w3c.github.io/csswg-drafts/css-ui/#appearance-semantics The other, one line change to settings.css is follow-up to #110205
This commit is contained in:
commit
4064bdd914
@ -7,7 +7,6 @@
|
|||||||
margin-right: 0.3em;
|
margin-right: 0.3em;
|
||||||
height: 1.2rem;
|
height: 1.2rem;
|
||||||
width: 1.2rem;
|
width: 1.2rem;
|
||||||
color: inherit;
|
|
||||||
border: 2px solid var(--settings-input-border-color);
|
border: 2px solid var(--settings-input-border-color);
|
||||||
outline: none;
|
outline: none;
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
// Local js definitions:
|
// Local js definitions:
|
||||||
/* global getSettingValue, getVirtualKey, updateLocalStorage, updateTheme */
|
/* global getSettingValue, updateLocalStorage, updateTheme */
|
||||||
/* global addClass, removeClass, onEach, onEachLazy, blurHandler, elemIsInParent */
|
/* global addClass, removeClass, onEach, onEachLazy, blurHandler, elemIsInParent */
|
||||||
/* global MAIN_ID, getVar, getSettingsButton */
|
/* global MAIN_ID, getVar, getSettingsButton */
|
||||||
|
|
||||||
@ -32,21 +32,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleKey(ev) {
|
|
||||||
// Don't interfere with browser shortcuts
|
|
||||||
if (ev.ctrlKey || ev.altKey || ev.metaKey) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
switch (getVirtualKey(ev)) {
|
|
||||||
case "Enter":
|
|
||||||
case "Return":
|
|
||||||
case "Space":
|
|
||||||
ev.target.checked = !ev.target.checked;
|
|
||||||
ev.preventDefault();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function showLightAndDark() {
|
function showLightAndDark() {
|
||||||
removeClass(document.getElementById("preferred-light-theme"), "hidden");
|
removeClass(document.getElementById("preferred-light-theme"), "hidden");
|
||||||
removeClass(document.getElementById("preferred-dark-theme"), "hidden");
|
removeClass(document.getElementById("preferred-dark-theme"), "hidden");
|
||||||
@ -77,8 +62,6 @@
|
|||||||
toggle.onchange = function() {
|
toggle.onchange = function() {
|
||||||
changeSetting(this.id, this.checked);
|
changeSetting(this.id, this.checked);
|
||||||
};
|
};
|
||||||
toggle.onkeyup = handleKey;
|
|
||||||
toggle.onkeyrelease = handleKey;
|
|
||||||
});
|
});
|
||||||
onEachLazy(settingsElement.querySelectorAll("input[type=\"radio\"]"), elem => {
|
onEachLazy(settingsElement.querySelectorAll("input[type=\"radio\"]"), elem => {
|
||||||
const settingId = elem.name;
|
const settingId = elem.name;
|
||||||
|
@ -256,6 +256,15 @@ set-local-storage: {"rustdoc-disable-shortcuts": "false"}
|
|||||||
click: ".setting-line:last-child .setting-check span"
|
click: ".setting-line:last-child .setting-check span"
|
||||||
assert-local-storage: {"rustdoc-disable-shortcuts": "true"}
|
assert-local-storage: {"rustdoc-disable-shortcuts": "true"}
|
||||||
|
|
||||||
|
// We now check that focusing a toggle and pressing Space is like clicking on it.
|
||||||
|
assert-local-storage: {"rustdoc-disable-shortcuts": "true"}
|
||||||
|
focus: ".setting-line:last-child .setting-check input"
|
||||||
|
press-key: "Space"
|
||||||
|
assert-local-storage: {"rustdoc-disable-shortcuts": "false"}
|
||||||
|
focus: ".setting-line:last-child .setting-check input"
|
||||||
|
press-key: "Space"
|
||||||
|
assert-local-storage: {"rustdoc-disable-shortcuts": "true"}
|
||||||
|
|
||||||
// Make sure that "Disable keyboard shortcuts" actually took effect.
|
// Make sure that "Disable keyboard shortcuts" actually took effect.
|
||||||
press-key: "Escape"
|
press-key: "Escape"
|
||||||
press-key: "?"
|
press-key: "?"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user