| この記事の要点 |
|
<rp> とは
<rp> (Ruby Parenthesis) は、ルビ機能に対応していないブラウザでルビが読みやすく表示されるよう、フォールバック用の括弧を提供する HTML5 要素です。
<ruby>
漢字<rp>(</rp><rt>かんじ</rt><rp>)</rp>
</ruby>
対応/非対応ブラウザでの見え方
| ブラウザ | 表示 | <rp> の扱い |
|---|---|---|
| ルビ対応(Chrome / Firefox / Safari / Edge / Opera) | 漢字の上に小さく「かんじ」 | 非表示 (display:none 相当) |
| ルビ非対応(古い IE / 一部組込ブラウザ / テキストブラウザ) | 漢字(かんじ) | テキストとして括弧表示 |
| スクリーンリーダー | 「かんじ」と読み上げ(実装依存) | 無視 or 読み上げ対象外 |
<ruby> 内の要素関係
<ruby>
ベーステキスト<rp>(</rp><rt>ふりがな</rt><rp>)</rp>
</ruby>
| 要素 | 意味 | 必須 |
|---|---|---|
<ruby> | ルビ全体のコンテナ | 必須 |
<rt> | Ruby Text - ふりがな本体 | 必須 |
<rp> | Ruby Parenthesis - フォールバック括弧 | 任意(推奨) |
<rb> | Ruby Base - ベーステキスト (W3C は推奨せず) | 非推奨 |
<rtc> | Ruby Text Container - 複数のふりがなまとめ | 任意 |
実用例: 日本語フリガナ
<!-- 1文字ずつ独立したルビ -->
<p>
<ruby>東<rp>(</rp><rt>とう</rt><rp>)</rp></ruby>
<ruby>京<rp>(</rp><rt>きょう</rt><rp>)</rp></ruby>
<ruby>都<rp>(</rp><rt>と</rt><rp>)</rp></ruby>
</p>
<!-- 単語まとめてのルビ -->
<p>
<ruby>東京都<rp>(</rp><rt>とうきょうと</rt><rp>)</rp></ruby>
</p>
<!-- 名前 -->
<p>
著者:
<ruby>山田<rp>(</rp><rt>やまだ</rt><rp>)</rp></ruby>
<ruby>太郎<rp>(</rp><rt>たろう</rt><rp>)</rp></ruby>
</p>
中国語の拼音 (Pinyin)
<p>
<ruby>
北<rp>(</rp><rt>běi</rt><rp>)</rp>
京<rp>(</rp><rt>jīng</rt><rp>)</rp>
</ruby>
</p>
韓国語のハングル
<p>
<ruby>
韓国<rp>(</rp><rt>한국</rt><rp>)</rp>
</ruby>
</p>
<rp> を省略した場合
対応ブラウザでは問題なく表示されますが、非対応環境では「漢字かんじ」のように括弧無しでふりがなが本文と混ざって読めなくなるため、書籍や公的文書ではフォールバック必須です。
<!-- ❌ rp なし: 非対応環境で「漢字かんじ」と表示される -->
<ruby>漢字<rt>かんじ</rt></ruby>
<!-- ✅ rp あり: 非対応環境で「漢字(かんじ)」と表示される -->
<ruby>漢字<rp>(</rp><rt>かんじ</rt><rp>)</rp></ruby>
CSS で表示制御
/* ルビ位置を下にする */
ruby {
ruby-position: under; /* over (デフォルト) / under */
}
/* ふりがなのサイズ */
rt {
font-size: 0.5em;
color: #666;
}
/* rp は通常 display:none だが、明示的に表示するには */
rp {
display: inline; /* デバッグ時に括弧を可視化 */
color: #ccc;
}
JavaScript で動的に追加
function addRuby(base, reading) {
const ruby = document.createElement('ruby');
ruby.appendChild(document.createTextNode(base));
const rp1 = document.createElement('rp');
rp1.textContent = '(';
ruby.appendChild(rp1);
const rt = document.createElement('rt');
rt.textContent = reading;
ruby.appendChild(rt);
const rp2 = document.createElement('rp');
rp2.textContent = ')';
ruby.appendChild(rp2);
return ruby;
}
document.body.appendChild(addRuby('漢字', 'かんじ'));
サポート状況
| ブラウザ | ルビ対応 | rp サポート |
|---|---|---|
| Chrome (5+) | ○ | ○ |
| Firefox (38+) | ○ | ○ |
| Safari (5+) | ○ | ○ |
| Edge | ○ | ○ |
| IE 5+ | △ (基本対応) | ○ |
| Lynx / w3m | × | テキスト表示 |
FAQ
Q: 現代のブラウザがほぼ対応してるなら <rp> 不要?
A: モダンブラウザ専用ならほぼ不要ですが、RSS リーダー / メーラー / 古い組込端末 / テキストブラウザでは今でもフォールバックが活きます。公的文書では推奨。
Q: 括弧以外の文字を入れてもいい?
A: 仕様上は任意の文字列を入れられます。「【」「<」など好みの記号を使えます。
Q: スクリーンリーダーは rp を読む?
A: 多くの実装で読まれません。読み上げ用の本文には別途 aria-label を併用します。
子ページ
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Git pushした変更の取消し|revert・履歴変更と保護の注意点 2026-10-15 23:49:01
- Gitでローカルを戻す前に|reset・restoreの違いと退避範囲 2026-10-15 23:49:01
- Git rebaseの使い方|対象範囲・競合解決・pushの判断 2026-10-15 22:50:59
- Git pullの使い方|取込み先・ff-only・競合とstashの注意点 2026-10-15 22:50:59
- Git pushの使い方|送信先・タグ・force-with-leaseの条件 2026-10-15 22:12:47
- Git remoteの設定・確認・削除|SSH URLとfetch/pushの違い 2026-10-15 22:12:47
- Gitリモートリポジトリの作成|初回push・既存履歴・mirrorの注意 2026-10-15 15:48:16
- Gitのuser.name・user.email設定|local/global・確認と過去履歴の注意 2026-10-15 15:30:07
- LinuxにGitをインストール|配布元・初期設定・TLSと認証の確認 2026-10-15 15:30:06
- Git導入と初回push|Linuxサーバー・Windows/macOS・SSH設定 2026-10-15 14:51:54
- Db2のCREATE INDEX|索引定義・INCLUDEと実行計画の確認 2026-10-15 14:10:22
- Db2の自動採番|IDENTITY・ID取得とRESTARTの注意点 2026-10-15 14:10:22
- 【DB2】特定スキーマの全テーブルの全カラム情報を取得する方法 2026-10-15 13:53:15
- Db2のシーケンスとIDENTITYの違い|採番とカタログの確認SQL 2026-10-15 13:53:15
- Db2で複数カラムをUPDATEする方法|SET・WHEREと更新前の値 2026-10-15 13:53:15