WCAG 2.0 実装方法集

メインコンテンツへスキップ

-

H56: インライン要素のdir属性を用いて、入れ子になったテキストの表記方向に伴う問題を解決する

適用(対象)

HTML 及び XHTML

これは、次の達成基準に関連する実装方法である:

解説

この実装方法の目的は、入れ子になった表記方向が含まれるテキストについて、インライン要素のdir属性で方向の変化を指定することである。入れ子になったテキストの表記方向とは、たとえば英語のパラグラフで、文章が次々と続いている中にヘブライ語の引用文が含まれるといった、表記方向の異なるテキストが混在したテキストの表記方向のことである。表記方向の異なるテキストが混在し、スペースや句読点が含まれていると、Unicodeの双方向アルゴリズムだけでは望ましくない結果になってしまうので、テキストをspan要素や他のインライン要素で囲み、dir属性を指定する必要がある。この実装方法の考え方は、What you need to know about the bidi algorithm and inline markup で説明されている。

事例

事例 1

この事例では、ヘブライ語と英語のように、混在したテキストの表記方向を持つ文章で、右から左へと表記すべき入れ子になったテキストの表記方向を明らかにする。引用全体はヘブライ語であり、右から左に表記されるが、「W3C」というテキストとカンマは、次のようにヘブライ語のテキストの左側に(すなわち、後ろに)現れるべきである:

The title is "פעילות הבינאום, W3C" in Hebrew.

視覚的な順序に基づくASCII(右から左へ表記するテキストは大文字で、左から右へ表記するテキストは小文字で書く)では、次の通りである:

the title is "w3c ,YTIVITCA NOITAZILANOITANRETNI" in hebrew.

正しく表示するためには、Unicodeの双方向アルゴリズムだけでは不十分なため、次に示すように「W3C」というテキストが引用の中で右側に置かれたままである:

The title is "פעילות הבינאום, W3C" in Hebrew.

視覚的な順序に基づくASCIIでは、次の通りである:

the title is "YTIVITCA NOITAZILANOITANRETNI, w3c" in hebrew.

次のようにマークアップすることによって、期待する結果が得られる。

コード例:


<p>The title says "<span lang="he" 
dir="rtl">פעילות הבינאום, W3C</span>" in Hebrew.</p> 

【訳注:このコード例にはxml:lang属性がありません。XHTML 1.0では、lang属性とxml:lang属性を一緒に指定するのが普通です。WCAGワーキンググループに確認中。】

参考リソース

この参考リソースは、あくまでも情報提供のみが目的であり、推薦などを意味するものではない。

検証

チェックポイント

  1. 文書内のテキストの表記方向を調べる。

  2. テキストの表記方向が右から左であれば、先祖要素にdir属性が指定され、値に「rtl」が指定されている。

  3. テキストの表記方向が左から右であれば、先祖要素にdir属性が指定されていない、又は先祖要素にdir属性が指定され、値に「ltr」が指定されている。

判定基準

注意: この実装方法が「達成基準を満たすことのできる実装方法」の一つである場合、このチェックポイントや判定基準を満たしていなければ、それはこの実装方法が正しく用いられていないことを意味するが、必ずしも達成基準を満たしていないことにはならない。場合によっては、別の実装方法によってその達成基準が満たされていることもありうる。

日本語訳における注記:

この文書の正式版は、W3Cサイトで公開されている英語の文書であり、この日本語訳には誤訳が含まれていることもありえます。なお、文中にある「日本語訳における注記」は、W3Cの原文にはないものであり、日本語訳監修者が追記したものです。