<bdo>:ページの書字方向とは異なる書字方向の範囲を指定する要素・HTMLタグの解説

取り扱い 標準仕様
カテゴリー フロー・コンテンツ
フレージング・コンテンツ
パルパブル・コンテンツ
親にできる要素 フレージング・コンテンツを受け入れる要素
子にできる要素 フレージング・コンテンツ
対応ブラウザ caniuseで確認

<bdo>タグの解説

<bdo>は、ページの基本的な書字方向を上書きして左横書き(LTR)か右横書き(RTL)を指定します。指定された範囲の文字は、並び方が変わるだけで文字自体が反転するわけではありません。

この要素は開発者が意図的に書字方向を上書きする場合に適しています。開発者が意図しない箇所、例えば多言語の固有名がプログラムの出力結果として表示される箇所には、<bdi>を使用します。

<bdo>タグの特徴

  • レイアウトの初期値はインラインです。文章の改行には影響を与えません。
  • 文章の意味的な解釈には影響を与えません。見た目の装飾なのでCSSでも代用可能です。

<bdo>要素に指定できる属性

dir
  • ltr:Left to Right. 左から右へ並ぶ。
  • rtl:Right to Left. 右から左へ並ぶ。
グローバル属性
全てのHTML要素に指定できる共通の属性です。詳細は一覧表で解説します。
イベントハンドラ
全てのHTML要素に指定できるコンテンツ属性です。

<bdo>要素の使い方とサンプルコード

この要素の最も基本的な書き方は以下の通りです。文章の中で書字方向を変えたい範囲を指定します。


LTR <bdo dir="rtl">RTL</bdo> LTR.

指定した範囲の文字列は、dir属性の値に従って書字方向が上書きされます。この場合、文字が反転するわけではなく、あくまで文字の並ぶ方向が変わります。


<p>あかさたな、はまやらわ。</p>
<p><bdo dir="rtl">あかさたな、はまやらわ。</bdo></p>

<bdo>に関連するHTMLタグ

特定範囲の表現を指定する要素
<span> 汎用的なインラインレベルのコンテナを作成する
<br> 改行を行う
<wbr> 文章の中で改行可能な位置を指定する
<b> 文字を太字にする
<mark> 文脈の中で関連性のある文字をマーキングする
<pre> ソースを整形済みテキストとして表示する
<bdi> ページの書字方向とは別の書字方向を指定する
<bdo> 書字方向を指定する
<ruby> ルビを振る文字列の範囲を指定する
<rt> ルビの内容を指定する
<rp> ルビが非対応な環境で読みがなを囲う記号を指定する
<rtc> ルビテキストの集まりを指定する
<sub> 下付き文字として表示する
<sup> 上付き文字として表示する
<details> 折りたたみ可能なディスクロージャー・ウィジェットを作成する
<summary> 折りたたみ可能なディスクロージャー・ウィジェットの概要を表す