Я не понимаю спецификации HTML5 для атрибутов lang
и xml:lang
в открывшемся теге <html>
. Прокручивая немного, я понимаю, что xmlns
является "талисманом" (не имеет никакого эффекта), но как насчет lang
и xml:lang
? Должны ли они использоваться? Если да, то какими должны быть установлены?
HTML5 <html> атрибуты xmlns, lang, xml: lang
Ответ 1
Все, что я видел и слышал, предполагает, что вы должны придерживаться
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
(или любой другой набор символов, который вы действительно хотите). Если вам нужен язык, связанный со страницей, вы можете использовать атрибут "lang" в теге <html>
.
Поскольку HTML5 не является XML, на самом деле, мне лично было бы странно использовать любые материалы пространства имен xml:
.
Ответ 2
xml: lang в сериализации text/html есть только там, чтобы авторы могли писать документы полиглота - документы, которые являются действительными XHTML5 и действительными HTML5.
В HTML (в отличие от XHTML) xml: lang вообще не является атрибутом в пространстве имен XML, это атрибут в пустом пространстве имен, называемом xml:lang
. то есть двоеточие не имеет никаких магических свойств вообще, это просто другой символ в имени атрибута, как и любой другой.
Чтобы ответить на вопрос, который вы изначально имели о en-US-x-hixie
:
en-US-x-hixie
- это en-US
(т.е. американский английский) плюс частный субтитр -x-hixie
, означающий вариант американского английского языка, написанный Яном Хиксоном, редактором HTML5.
Частные использования Субтаги определены в RFC: 5646, BCP 47 http://www.ietf.org/rfc/bcp/bcp47.txt
Раздел 2.2.7. Private Use Subtags