#html #forms
#HTML #формы
Вопрос:
Будет ли следующее допустимым использованием элемента label в HTML5?
<label for="select">Some text</label>
<select id="select">
...
</select>
<label for="select">...more text</label>
Спецификации HTML5, похоже, ничего не говорят об этом.
редактировать: этот вопрос теперь устарел. В текущей формулировке ясно, что один элемент может иметь несколько меток (но не наоборот):
С помечаемыми элементами связан объект NodeList, который представляет список элементов label в древовидном порядке, помеченный элемент управления которого является рассматриваемым элементом.
Ответ №1:
У вас может быть несколько меток, которые указывают на один и тот же элемент управления формой, и это законно.
Согласно документации HTML 4:
Элемент LABEL может использоваться для прикрепления информации к элементам управления. Каждый элемент МЕТКИ связан ровно с одним элементом управления формой.
Атрибут for явно связывает метку с другим элементом управления: значение атрибута for должно совпадать со значением атрибута id связанного элемента управления. Несколько МЕТОК могут быть связаны с одним и тем же элементом управления путем создания нескольких ссылок с помощью атрибута for .
Комментарии:
1. Думаю, это максимально близко, хотя я все еще могу понять это из спецификации HTML5
2. Я мог бы добавить, что в текущей редакции спецификации html5 подразумевается, что один элемент может иметь несколько меток (но не наоборот).
Ответ №2:
Я только что проверил, будут ли текущие комбинации программы чтения с экрана / браузера вести себя так, как ожидалось, то есть: они связывают все существующие метки с вводом и объявляют их все при фокусировке ввода. Это особенно полезно при вводе вкладок через формы с помощью программы чтения с экрана Windows Desktop.
<label for="name">Your name:</label>
<input id="name" />
<label for="name">If forgotten, please consult your birth certificate.
Codepen: https://codepen.io/jmuheim/pen/OJvxzVG
- NVDA Chrome: работает ✅
- NVDA FF: работает ✅
- JAWS Chrome: работает ✅
- JAWS FF: работает ✅
Примечание: программы чтения с экрана мобильных устройств не тестировались, поскольку они не предлагают табуляции, что делает вышеуказанное неактуальным.