4

以下に示す2つの線の違いは何ですか?:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-GB">

<meta http-equiv="content-language" content="en-GB" />

メタタグがなかった場合、結果はどうなりますか?

メタのものはスクリーンリーダーに影響しますが、トップのものは影響しませんか?私は彼らが正確に何をしているのかについて少し混乱しています。

助けてくれてありがとう

よろしくお願いします

スキップ。

4

5 に答える 5

6

Dive Into Accessibility のIdentifying your language ページでは、doctype に応じて、できるだけ多くのスクリーン リーダーを処理できるように、できるだけ多くを追加することをお勧めします。

HTML 4 のバリアントを使用している場合は、タグを次のように変更します (英語でない場合は独自の言語コードを使用してください)。

<html lang="en">

XHTML 1.0 のバリアントを使用している場合は、タグを次のように変更します (両方の場所で言語コードを使用してください)。

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

XHTML 1.1 を使用している場合は、タグを次のように変更します (ここでも独自の言語コードを挿入します)。

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

同じ記事では、 ISO 639.2も参照して xml:lang の値がどうあるべきかを判断していますが、XML 仕様では別のドキュメントRFC4646 Best Current Practice - Tags For Identifying Languagesが参照されていますが、これは「en-GB」の値を示しているようです。有効です。

Google のWeb Authoring Statistics (2005) には、それについて次のように書かれています。

次は Content-Language 値です (http-equiv 属性で使用されます)。html 要素で lang 属性を指定するのとほぼ同じくらい多くの人がこれを使用します。HTML5 仕様では、現在 http-equiv 属性は、上のグラフが示すように、実際には削除できない文字エンコーディングを設定する 1 つのケースに対してのみ許可されています。ただし、http-equiv="Content-Language" は少なくとも 1 つのブラウザーでサポートされており、ここでわかるように広く使用されています。

さらに、webproworld のスレッドでは、ドキュメントの言語を記述するために http-equiv=content-language と name=language を使用することの違いについて話し、両方が必要であることを暗示しています。

最後に、W3C のHTML Techniques for Web Content Accessibility Guidelines 1.0ドキュメントを参照して、その他の推奨事項、具体的には Identitying the Primary Languageを参照してください。

結論として、スクリーン リーダーはコンテンツ言語のメタ情報よりも lang 属性を見ているように見えますが、私が見たほとんどの推奨事項では、とにかくメタ データを使用することを勧めています。特に Google の統計は適切なように思われるので、おそらく両方を残した方がよいでしょう。

于 2009-04-18T20:38:26.887 に答える
1

このバージョンの利点の1つは、たとえば、の<meta>ように複数の言語を指定できることだと思います。主題のより詳細な調査のためにこれ<meta http-equiv="Content-Language" content="en-GB, fr" />を見てください。

于 2009-04-18T20:01:14.293 に答える
1

Content-Language は XHTML5 に準拠していません

複数の言語を指定することはできますが、そうすべきではありません (誰の役にも立ちません)。xml:lang代わりに、特定の要素の属性を使用する必要があります。

<p xml:lang="en">Hello <span xml:lang="de">Welt!</span></p>

W3C I18N FAQも明らかに反対してい<meta>ます:

ここでは、HTTP ヘッダーまたはメタ要素の情報は関係ありません。さらに、タグ内のand/or属性を使用して、コンテンツ全体のテキスト処理言語を指定する必要がありますlangxml:langhtml

于 2009-04-18T20:15:41.357 に答える
0

私の知る限り、メタhttp-equivは(XHTMLではなく)HTMLドキュメントにのみ必要です。XHTMLでは xml:langを使用して言語を指定できるためです。

したがって、違いはありません。2行目は冗長です。

于 2009-04-18T20:04:01.680 に答える
0

HTTP / 1.0 RFC 1945によると、Content-Languageヘッダーフィールドは「対象読者の言語」を表します。

Content-Languageエンティティヘッダーフィールドは、囲まれたエンティティの対象読者の自然言語を記述します。これは、エンティティ内で使用されるすべての言語と同等ではない場合があることに注意してください。

HTML4とXHTML1.xは、メタhttp-equivタグを、HTTPヘッダーではなく、htmlドキュメントに埋め込まれた同じ情報として扱います。

一方、xml:langおよびhtml lang属性は、ドキュメントの言語、または属性が表示される要素内に含まれるフラグメントを識別します。

したがって、英語を話す人にフランス語を教える目的で主にフランス語で書かれたドキュメントがあるとすると、コンテンツ言語はen-GB、en-US(たとえば)になり、xml:lang属性はfr-FRになります。 。

ただし、HTML 5はこれを変更し、メタhttp-equiv = "content-language"は非準拠のHTMLと見なされますが、それでもドキュメント全体のデフォルト言語を定義し、単一の言語のみをサポートするため、xml:langonと実質的に同じです。 html要素。この変更の背後にある理由を理解しているとは言えませんが、DanielGlazmanとIanHicksonは、http://lists.w3.org/Archives/Public/public-html/2008Nov/0083.htmlから始まるスレッドでそれについて話し合っています。

于 2009-04-19T01:02:15.363 に答える