Один случай использования - это когда я хочу предоставить более одного метода установки одного и того же значения, например:
const inp1 = document.getElementsByTagName('input')[0]
const inp2 = document.getElementsByTagName('input')[1]
inp1.oninput = ()=>{inp2.value = inp1.value}
inp2.oninput = ()=>{inp1.value = inp2.value}
inp1.value = 0
<label>Set turn angle:
<input type="number" min="-90" max="90" step="any">
<input type="range" min="-90" max="90" step="any">
</label>
Когда пользователь желает ввести точное значение, он вводит number
. В противном случае, если они хотят просто немного повернуться или продолжать медленно, не печатая быстро, у них есть ползунок.
Но! Что насчет элемента label
? Семантически label
применяется к обоим входам. Однако разрешено ли размещать более одного элемента ввода в метке, как я сделал? Я читаю docs , и, похоже, предполагается, что между меткой и соответствующим вводом имеется отношение 1-1. Тогда, если это не законно, что я должен делать в таком случае?