文書型 | 適用 | 子要素 | 開始タグ | 終了タグ | 分類 |
---|---|---|---|---|---|
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">!םולש</bdo>
と挨拶します。</p>
ヘブライ語では!םולשと挨拶します。
<!ELEMENT BDO - - (%inline;)* -- I18N BiDi over-ride -->
<!ATTLIST BDO
%coreattrs; -- id, class, style, title --
lang %LanguageCode; #IMPLIED -- language code --
dir (ltr|rtl) #REQUIRED -- directionality --
>