bdo要素 -- 文字表記の方向

基本データ

bdo要素
文書型 適用 子要素 開始タグ 終了タグ 分類
Strict インライン要素 必須 必須 インライン要素
Transitional
Frameset

属性

固有属性

dir="文字方向"(必須)
Strict: ○ | Transitional: ○ | Frameset: ○
文字を表示する方向を指定します。この属性は必ず指定しなければいけません。利用できる値は次のとおりです。
ltr
左から右(left-to-right)
rtl
右から左(right-to-left)
lang="言語コード"
Strict: ○ | Transitional: ○ | Frameset: ○
言語コードを指定します。

解説

ユニコードの双方向アルゴリズムを無視し、テキスト方向を指定するための要素です。

次の例では英語の文にヘブライ語が埋め込まれています。

英語1 ヘブライ語2 英語3 ヘブライ語4 英語5

ヘブライ語は右から左へ記述する言語です。ユニコードの双方向アルゴリズムに対応したブラウザであれば、ヘブライ語の部分を左右反転させて、

英語1 2語イラブヘ 英語3 4語イラブヘ 英語5

と表示するはずです。しかし、最初からヘブライ語が表示順に並べられていると、

英語1 2語イラブヘ 英語3 4語イラブヘ 英語5

ユニコードの双方向アルゴリズムに対応したブラウザは、左右反転させて

英語1 ヘブライ語2 英語3 ヘブライ語4 英語5

と表示してしまいます。そこで、<bdo dir="ltr"></bdo>で囲むことで、すべての文字を強制的に左から右へ(left-to-right,ltr)表示させます。

<bdo dir="ltr">英語1 2語イラブヘ 英語3 4語イラブヘ 英語5</bdo>
<p>ヘブライ語では
<bdo dir="ltr" lang="he">!&#x05dd;&#x05d5;&#x05dc;&#x05e9;</bdo>
と挨拶します。</p>

ヘブライ語では!םולשと挨拶します。

Strict DTDの定義

<!ELEMENT BDO - - (%inline;)*          -- I18N BiDi over-ride -->
<!ATTLIST BDO
  %coreattrs;                          -- id, class, style, title --
  lang        %LanguageCode; #IMPLIED  -- language code --
  dir         (ltr|rtl)      #REQUIRED -- directionality --
  >

Information

現在の位置