Для чего используется атрибут 'lang' тега <html>?
В HTML хорошо иметь атрибут lang
в <html>
, например <html lang="en">
.
Чем это полезно?
Если это используется для перевода, даже если язык установлен на английский и в документе есть весь текст на китайском языке, Google Translate распознает его как китайский, а не английский (это означает, что Google игнорирует атрибут lang
).
Ответы
Ответ 1
Я цитирую это из W3C:
Объявление языка в HTML
Всегда используйте языковой атрибут в теге html
чтобы объявить язык текста по умолчанию на странице. Если страница содержит контент на другом языке, добавьте атрибут языка к элементу, окружающему этот контент.
Используйте атрибут lang
для страниц, служащих HTML, и атрибут xml:lang
для страниц, служащих XML. Для документов полиглота XHTML 1.x и HTML5 используйте оба вместе.
Используйте языковые теги из реестра IANA Language Subtag.
Также хорошо читать, зачем использовать атрибут языка? ,
Ответ 2
Вы спросили "как это полезно".
"Атрибут <lang=>
может быть использован для объявления языка веб-страницы или части веб-страницы. Это предназначено для помощи поисковым роботам, форматированию страниц и технологии чтения с экрана"
Источник: http://symbolcodes.tlt.psu.edu/web/tips/langtag.html
Никакого упоминания о переводе - но часто паук поисковой системы не захочет анализировать документ "на неправильном языке" - его индексный файл будет расти (много новых слов), и результаты не будут полезны для пользователя (который не может читать язык, и кто использует неправильные условия поиска).
Появление технологии интеллектуального перевода (например, Google, о которой упоминалось выше) означает, что некоторые поисковые системы могут видеть страницу на одном языке, переводить ее и выяснять, что кто-то, ищущий "корову", может заинтересоваться этой страницей, которая упоминает "vache "и имеет <lang="fr">
.
Ответ 3
Насколько я могу судить, для одноязычного веб-сайта (надеюсь, вы можете предположить его полезность для многоязычных сайтов), единственным реальным, фактическим, ощутимым использованием является то, что он делает " hyphens" Свойство CSS работает как ожидалось..., что не так много, но больше, чем ничего. (Боюсь, что я не проверял это в браузере, однако, это то, что мы все должны делать, чтобы точно знать, что.)
Через: http://blog.adrianroselli.com/2015/01/on-use-of-lang-attribute.html (который также полон нерелевантных "причин" для его использования, за исключением упомянутых).
Ответ 4
Различие между lang
и пользовательскими атрибутами заключается в том, что lang
наследуется, поэтому даже селекторный элемент элемента с атрибутом lang=en
можно выбрать с помощью селектора div:lang(en){}
.