WCAG 2.0 実装方法集

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

-

H34: UnicodeのRLM文字又はLRM文字を用いて、インラインでテキストの方向を混在させる

適用(対象)

HTML 及び XHTML

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

解説

この実装方法の目的は、HTMLの双方向性アルゴリズムが望ましくない結果を生じるとき時に、それを無効にするためにUnicode制御文字のright-to-left markとleft-to-right markを用いることである。たとえば、スペース又は句読点のようなニュートラルな文字が異なる方向性のテキストの間に置かれている 時に必要となることがある。この実装方法で用いられているコンセプトは、W3C文書の「 What you need to know about the bidi algorithm and inline markup(双方向アルゴリズムとインラインマークアップを知るために必要なこと)」に書かれている。

Unicode 制御文字のright-to-left mark及びleft-to-right markは、以下に示すように、 そのまま、又は文字符号か数字符号の参照によって挿入することが可能である。

双方向性のアルゴリズムが原因で、ソースコード編集者は期待通りに文字符号や数字符号の参照を表示できないことがある。

事例

事例 1

この事例では、英語の文章の間にあるアラビア語のフレーズを示している。感嘆符はアラビア語のフレーズの一部であり、その左側にあるべきである。それはアラビア文字とラテン文字の間であり、段落全体の方向がLTR(左から右)であるため、双方向性のアルゴリズムはアラビア語のフレーズの右側に感嘆符を置いている。

The title is "مفتاح معايير الويب!" in Arabic.

視覚的に並び替えられたASCIIバージョン(右から左へのテキストは大文字、左から右は小文字):

the title is "HCTIWS SDRADNATS BEW!" in arabic.

表示されたテキスト(以下を参照)を見るとき、感嘆符の直後にUnicodeのright-to-left markを 挿入することによって、感嘆符を正しい位置に置くことになる。right-to-left markを挿入するために、エスケープ文字又は(不可視の)制御文字を使用することができる。

The title is "مفتاح معايير الويب!‏" in Arabic.

視覚的に並び替えられたASCIIバージョン:

the title is "!HCTIWS SDRADNATS BEW" in arabic.

参考リソース

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

検証

チェックポイント

  1. テキストの方向が変わっている箇所のソースを調べる。

  2. テキストの方向が変わっている際には、スペース又は句読点のようなニュートラルな文字が初期設定ではない方向で表示されたテキストに隣接している。

  3. 上記2.に該当し、かつHTMLの双方向性のアルゴリズムがニュートラルな文字の誤った配列を生み出している場合、ニュートラルな文字の直後にUnicode制御文字の right-to-left又はleft-to-right markがあり、ニュートラルな文字を前の文字列の一部として配置させている。

判定基準

日本語訳における注記:

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