#html #html5 #вёрстка #label
Можно ли вот так поставить ссылку вовнутрь label? Валидацию такой код проходит. С одной стороны при нажатии на ссылку не происходит клика по чекбоксу, но в тоже время это один кликабельный элемент внутри другого. Это возможно? Или будет семантически не правильно? И почему? Везде ли такой код будет работать?
Ответы
Ответ 1
Элемент anchor может употребляться внутри элемента label, как в HTML 4.01, так и в HTML5. Такая конструкция абсолютно валидна. Наиболее удобным для пользователя способом применения будет следующий. Поскольку одному чекбоксу могут соответствовать несколько элементов label, оптимально располагать ссылку (ссылки) между этими элементами. Благодаря этому при нажатии по тексту внутри любого из label чекбокс отмечается, при нажатии на ссылку - не отмечается и никак не изменяет состояния. terms Опять-таки, для удобства пользователя желательно давать ссылке атрибут target="_blank"; впрочем, это уже выходит за рамки вопроса. Итак, ответ на последний вопрос вопроса будет таким: такой код будет работать везде.Ответ 2
У валидатора нет проблем с этим кодом, значит стандарт позволяет. Если боитесь, что не во всех браузерах работает одинаково — проверьте и исправьте нежелательное поведение. Если текущее поведение не устраивает (чекбокс не нажимается при клике на ссылку) — исправьте при помощи JS. Итого: если вам нужно вставить ссылку в лейбл — вставляйте! P.S. если задумали, чтобы ссылка из лейбла открывалась в этой же вкладке браузера, то не забудьте сохранять данные заполненной формы, в противном случае конверсия формы начнет стремиться к нулю, а под кем-нибудь обязательно прогорит стул.Ответ 3
Можно, но тот человек, что нажмёт на ссылку (желая отметить чекбокс), проклянёт вас.
Комментариев нет:
Отправить комментарий