web-dev-qa-db-ja.com

HTML5 <html>属性xmlns、lang、xml:lang

langおよびxml:lang属性のHTML5仕様 開始<html>タグがわかりません。少し上にスクロールすると、xmlnsは「タリスマン」であることがわかります(効果はありません)が、langxml:langはどうですか?それらを使用する必要がありますか?もしそうなら、彼らは何に設定する必要がありますか?

31
ma11hew28

私が見たり聞いたりしたことはすべて、あなたが固執することを示唆しています

<!DOCTYPE html>
<html>
  <head>
    <meta charset='UTF-8'>

(または実際に必要な文字セット)。ページに関連付けられた言語が必要な場合は、<html> 鬼ごっこ。

HTML5はnot XMLであるため、実際のところ、xml:名前空間のもの。

36
Pointy

text/htmlシリアル化のxml:langは、作成者がポリグロットドキュメント(有効なXHTML5および有効なHTML5であるドキュメント)を作成できるようにするためのものです。

HTMLでは(XHTMLとは対照的に)、xml:langはXML名前空間の属性ではなく、xml:langと呼ばれるnull名前空間の属性です。つまり、コロンには魔法のプロパティはまったくありません。これは、他の属性名の単なる別の文字です。


元々en-US-x-hixieについて持っていた質問に答えるために:

en-US-x-hixieen-US(つまりアメリカ英語)に加えて、プライベート使用サブタグ-x-hixieは、HTML5のエディターであるIan Hicksonによって書かれたアメリカ英語の変形を意味します。

私用サブタグは、RFC 5646、BCP 47で定義されています http://www.ietf.org/rfc/bcp/bcp47.txt Section 2.2.7. Private Use Subtags

17
Alohci

Lang属性は、スクリーンリーダーを使用するユーザーの場合、htmlドキュメントに大きな違いをもたらします。したがって、a11yを考慮すると、間違いなくそれを使用したいと思うでしょう。このビデオは、これに関する最良の議論です。 https://youtu.be/0uzxu9dQn 「JAWSスピーチのlang属性の効果」。 lang attrが毎回それらの言語に設定されているという理由だけで、スクリーンリーダーがスペイン語、フランス語、またはドイツ語の発音(非常に理解しにくい)で英語のテキストをどのように発音するかを示します。

また、以下を確認してください: https://www.w3.org/International/questions/qa-lang-why.en ここで言及されているいくつかの正当な理由は次のとおりです。

  • スタイリング(たとえば、異なる言語の異なるフォント)
  • スペルチェックと文法チェッカー
  • 翻訳ツール
  • 検索結果(ページの内部マークアップを使用して、ユーザーの言語設定に基づいて品質を改善できます)
0