<ruby>:ルビを振る文字列の範囲を指定する要素・HTMLタグの解説

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

<ruby>タグの解説

<ruby>は、ルビを振る際に対象となる文字列を指定するために使用します。ルビは漢字が使われる言語圏内で発展したもので、特定の文字に対してふりがなや発音、異なる読み方といった情報を小さな文字で表示します。

ルビの利用は、論文や小説を扱うサイトで多く見られます。難しい漢字や独自の読み方が必要な場面で、ユーザーの手助けとなるはずです。漢字の後ろにカッコを置いて、その中にふりがなを記述する方法も多く見られますが、ルビを活用した方が可読性や視認性を向上できる場合があります。

<ruby>は、もともとInternet Explorerが独自に採用したタグでした。その後、HTML5で標準仕様となり、HTML Living Standardにも引き継がれています。ただし、ルビを構成する要素の中でいくつかのタグが廃止されているので、マークアップする祭は現行の標準に従って下さい。

現在の環境で使用するルビ関連のタグは以下の三種類です。具体的な仕様は各ページで解説しています。

  • <ruby>:ルビを振る対象の文字列を指定する
  • <rt>:ルビとして表示させる内容を指定する
  • <rp>:ルビの内容を囲うカッコを指定する

<ruby>タグの特徴

  • レイアウトの初期値はインラインです。文章の改行には影響を与えません。
  • 視覚的な効果として、<ruby>の範囲に収まった文字列の上に、<rt>で指定されたルビが均等に置かれます。
  • 同一のページ内に複数使うことができます。ただし、この要素自体を入れ子にすることはできません。

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

グローバル属性
全てのHTML要素に指定できる共通の属性です。詳細は一覧表で解説します。
イベントハンドラ
全てのHTML要素に指定できるコンテンツ属性です。

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

この要素の最も基本的な書き方は以下の通りです。ルビを振る場合、<ruby><rt>の二種類を組み合わせて記述します。


<ruby>漢字<rt>かんじ</rt><ruby>

ルビに使われる文字は、基本的に元のfont-sizeの二分の一の大きさで表示されます。漢字一文字に対して二文字のふりがなであれば収まりが良いのですが、文字数が噛み合わない場合は<ruby>で指定した範囲に均等に配分されます。


ふりがなが多い場合、<ruby>6<rt>シックス</rt><ruby> のように表示されます。
ふりがなが少ない場合、<ruby>豆腐皮<rt>ゆば</rt><ruby> のように表示されます。

このような自動配置が適切でないと判断した場合、文字と読みがなを厳密に対応させることができます。それぞれの文字と<rt>に入れるルビの内容を分けて書きます。


<ruby>漢<rt>かん</rt>字<rt>じ</rt><ruby>

<ruby>に対応していない環境を考慮する場合、ルビを収めるカッコを隠し要素として持つことができます。標準的な環境では<rp>の中身は表示されません。<ruby>は標準仕様に組み込まれており、ほとんどのブラウザでは対応しているので、無理に<rp>を記述する必要性は低いでしょう。


<ruby>
	文字列<rp>(</rp><rt>もじれつ</rt><rp>)</rp>
</ruby>

<ruby>に関連するHTMLタグ

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