Формы. Испытание 18/18 тег LABEL

Здравствуйте! не могу разобраться с тегом label, где его писать,а где нет, нужно ли оборачивать в него такие пункты, как “Ваш пол” “Месяц и год рождения:”, “Знакомые технологии:”, "Фото:"
вот мой код, пишет, что 100%, но не до конца понимание с тегом label не дает мне покоя:

Испытание: редактирование профиля

Профиль

    <form action="https://echo.htmlacademy.ru" method="post">

    Ваш пол:
    <label>
            <input type="radio" name="question-one" value="Мужской">
            Мужской
    </label>
    <label>
            <input type="radio" name="question-one" value="Женский" checked>
            Женский
    </label>
    <br>
    Месяц и год рождения:
    <br>
    <label>
           <select name="month">
               <option value="January">Январь</option>
           </select>
           <select name="year">
               <option value="1990">1990</option>
           </select>
    </label>
       <br>
       Знакомые технологии:
       <br>
       <label>
           <select name="technoligies" multiple size="4">
               <option>HTML</option>
               <option selected>CSS</option>
               <option>JavaScript</option>
               <option>Node.js</option>
           </select>
       </label>
       <br>
       Фото:
           <input type="file">
       <input type="submit" value="Сохранить">
    </form>
</body>

Ну тег select точно не нужно оборачивать. А input можно либо обернуть, либо через id привязать к форме

я не об этом спрашивал, этот тег нужен для оборачивания текста, вот про конкретные примеры текста и спрашивал

Лучше весь текст в формах оформлять в <label>, что позволит легко повлиять на этот текст через CSS.

1 лайк

нет именно те слова про которые вы спрашивали не нужно оборачивать, это просто типо как заголовок к пункту в форме.

Не надо весь текст в label оборачивать, этот тег не для этого предназначен, его цель это сделать так чтоб при клике на текст выбрался радиобаттон или у inputа курсор на форму поставился.

спасибо за пояснение, как раз тоже уже почитал литературу и понял, но вот интересует такой еще вопрос, можно ли оставлять текст голым? ведь если оборачивать тот текст в

, то уже не сходится с образцом.

А где конкретно прочитали? Мне тоже интересно.
По поводу “голого” текста у нас здесь мнения не совпали в прошлый раз.
Я считаю, что оборачивать надо. Текст в форме может быть обернут в параграф, например. А для заголовков в HTML5 есть тег legend.

вот например хотя бы здесь http://www.puzzleweb.ru/html/tag_label.php и здесь https://server.179.ru/doc/htmlbook.ru/html/label.html

В первой статье показан лишь фрагмент формы, вторая ссылается на справочник htmlbook. Актуальная версия находится по другому адресу - webref.ru. Возможно, в этом случае ничего не поменялось, но всё же.
Мое мнение, повторюсь, что текст должен быть обёрнут. И если это не label, как следует из статей, значит это будет span, p или legend.

Для семантики и отзывчивости страницы весь контент должен быть обернут в теги логически подходящие данному контенту. Другими словами как сказала Ineska так оно и есть

вот в данном случае, в какой тег обернуть “Ваш пол” , “Месяц и год рождения”? label для этого не подходит, а на “p” ругается образец задания, так как быть?

В этом задании не надо самодеятельности, а так любой из предложенных ineska, советую прочитать подробнее про legend

тут дело не в самодеятельности, а в понимании, ведь получается остается оголенный текст, что неправильно. Тег span тоже не совсем подходит, ведь в css он не особо поддается изменениям, тег legend так же сюда не подходит, совсем другой внешний вид тогда получается

еще и интересно, что на сайте пишут, что “Мы отслеживаем сообщения и постараемся ответить максимально быстро.” но здесь почему то нету ответа от создателей задания, которые и пролили бы свет на данную ситуацию

А почему span не подходит?

К строчным элементам неприменима ширина и высота, что затруднит работу над его внешним видом

А если display: inline-block;?

display:block и он уже не строчный элемент)

1 лайк

этого я еще не знаю, только начал изучать html, вот и хочу разобраться во всех недопониманиях, дабы не было пробелов в знаниях)