Свободная функциональность
Правильное использование <label>
s означает, что вы можете нажать на метку, чтобы ввести текстовое поле. Многие браузеры добавляют логическую функциональность по умолчанию ко многим тегам в соответствии с официальной спецификацией, что означает, что вы можете использовать меньше плагинов JavaScript и писать меньше кода, чем сайт, полностью сделанный из <div>
s и <span>
s.
доступность
Относительно бесплатной функциональности семантика очень много значит для программы чтения с экрана. Текст перед полем ввода не будет читаться так же, как <label>
завещание. Программы чтения с экрана будут игнорировать большую часть вашего CSS, так что это в основном зависит от структуры вашего HTML.
Логический CSS
Зачем использовать, div #header
когда вы можете использовать <header>
и стиль, который напрямую? Семантические теги облегчают разметку и делают ваш стиль более портативным; если у вас есть определенный стиль для зачеркивания и вы всегда используете <del>
элементы, этот стиль гораздо более переносим. <del>
означает то же самое для всех, но каждый будет называть свой .deletedText
класс по-разному.
Это также помогает держать всех на одной странице в больших проектах; никто не любит изучать эзотерические правила именования других людей.
SEO
В поисковых системах, таких как Google, все шире используются семантический HTML и метаданные . Богатые фрагменты Google также используют специальные метаданные, предназначенные для передачи семантического контента.
Почему это не так часто
Требуется работа, и люди привыкли судить о сайте по тому, как он выглядит и работает . Часто семантичность не учитывается, потому что люди, которые пишут экономическое обоснование для приложений, не понимают этого или почему это важно.
Нетехническим людям очень трудно понять или оценить семантику HTML.
Если веб-сайт выглядит хорошо и кажется, что работает, зачем беспокоиться? Многие люди могут даже не знать, что в этом есть что-то еще. Подобно доступности, это имеет тенденцию игнорироваться, пока кто-то в вашей команде действительно не поймет это.
Если вы хотите, чтобы семантический HTML был приоритетом в вашем проекте, вам нужно представить пример для этого. Показ вашей команды / босса, как ваш сайт работает в программе чтения с экрана, также является полезным инструментом.