<ruby> ルビを振る文字列の範囲を指定する
取り扱い | 現行の標準 |
カテゴリ |
フロー・コンテンツ フレージング・コンテンツ パルパブル・コンテンツ |
親にできる要素 | フレージング・コンテンツを受け入れる要素 |
子にできる要素 | フレージング・コンテンツ |
対応ブラウザ | caniuseで確認 |
<ruby>タグの説明
<ruby>
は、ルビを振る際に対象となる文字列の範囲を指定するために使用します。ルビは漢字が使われる言語圏内で発展したもので、特定の文字に対してふりがなや説明、異なる読み方といった情報を、より小さな文字で与えます。
この要素は、論文や小説を扱うサイトで多く見られます。難しい漢字や独自の読み方が必要な場面で、ユーザーの手助けとなるでしょう。漢字の後ろにカッコを置いて、その中にふりがなを記述する方法も多く見られますが、ルビを有効に活用れば、可読性や視認性が増す場合があります。
<ruby>
は、もともとInternet Explorerが独自に採用したタグでした。その後、HTML5で標準仕様となり、HTML Living Standardにも引き継がれています。ただし、ルビを構成する要素の中でいくつかのタグが廃止されているので、マークアップする祭は現行の標準に従って下さい。
現在、ルビで使用するのは以下のタグです。具体的な仕様は各ページで解説しています。
<ruby>タグの特徴
- レイアウトの初期値はインラインです。文章の改行には影響を与えません。
- 視覚的な効果として、
<ruby>
の範囲に収まった文字列の上に、<rt>
で指定されたルビが均等に置かれます。 - 同一のページ内に複数使うことができます。ただし、この要素自体を入れ子にすることはできません。
<ruby>に指定できる主な属性
- グローバル属性
- 全てのHTML要素に指定できる共通の属性です。詳細は一覧表で解説します。
- イベントハンドラ
- 全てのHTML要素に指定できるコンテンツ属性です。
<ruby>の使い方とサンプル
HTMLでルビをマークアップしてみましょう。以下の例は、最もシンプルな書き方です。
<ruby>漢字<rt>かんじ</rt><ruby>にルビを振る。
ルビは基本的に、元の文字の二分の一の大きさで表示されます。漢字一文字に対してふりがな二文字であれば収まりが良いのですが、文字数が噛み合わない場合は均等に配分されます。
ふりがなが多い場合、<ruby>6<rt>シックス</rt><ruby>、のように表示されます。
ふりがなが少ない場合、<ruby>豆腐皮<rt>ゆば</rt><ruby>、のように表示されます。
ふりがなが少ない場合、豆腐皮、のように表示されます。
このような自動配置が適切でないと判断した場合、文字と読みがなを厳密に対応させることができます。それぞれの文字と<rt>
に入れるルビの内容を分けて書きます。
<ruby>漢<rt>かん</rt>字<rt>じ</rt><ruby>にルビを振る。
<ruby>
に対応していない環境を考慮する場合、ルビを収めるカッコを隠し要素として持つことができます。標準的な環境では<rp>
の中身は表示されません。
<ruby>
文字列<rp>(</rp><rt>もじれつ</rt><rp>)</rp>
</ruby>
<ruby>
文<rp>(</rp><rt>も</rt><rp>)</rp>
字<rp>(</rp><rt>じ</rt><rp>)</rp>
列<rp>(</rp><rt>れつ</rt><rp>)</rp>
</ruby>
文 字 列
このような記述は、あまりにも煩雑に思われます。<ruby>
は標準仕様に組み込まれており、ほとんどのブラウザで対応しているので、無理に<rp>
を記述する必要性は低いでしょう。