ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
<rp> (Ruby Parenthesis) は、ルビ機能に対応していないブラウザでルビが読みやすく表示されるよう、フォールバック用の括弧を提供する HTML5 要素です。
<ruby>
漢字<rp>(</rp><rt>かんじ</rt><rp>)</rp>
</ruby>
対応/非対応ブラウザでの見え方
| ブラウザ | 表示 | |
|---|---|---|
| ルビ対応(Chrome / Firefox / Safari / Edge / Opera) | 漢字の上に小さく「かんじ」 | 非表示 (display:none 相当) |
| ルビ非対応(古い IE / 一部組込ブラウザ / テキストブラウザ) | 漢字(かんじ) | テキストとして括弧表示 |
| スクリーンリーダー | 「かんじ」と読み上げ(実装依存) | 無視 or 読み上げ対象外 |
内の要素関係
<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 なし: 非対応環境で「漢字かんじ」と表示される -->
<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: 現代のブラウザがほぼ対応してるなら
A: モダンブラウザ専用ならほぼ不要ですが、RSS リーダー / メーラー / 古い組込端末 / テキストブラウザでは今でもフォールバックが活きます。公的文書では推奨。
Q: 括弧以外の文字を入れてもいい?
A: 仕様上は任意の文字列を入れられます。「【」「<」など好みの記号を使えます。
Q: スクリーンリーダーは rp を読む?
A: 多くの実装で読まれません。読み上げ用の本文には別途 aria-label を併用します。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- CSS background-origin 完全ガイド(border-box / padding-box / content-box / background-clip との違い) 2026-06-11 07:09:56
- CSS font-size 完全ガイド(px / em / rem / % / vw / clamp / キーワード / アクセシビリティ) 2026-06-11 07:09:56
- Windows start コマンド 完全ガイド(別ウィンドウ起動 / URL / フォルダ / /wait / /b / 優先度オプション) 2026-06-11 07:09:56
- HTML map要素 完全ガイド(イメージマップ / area要素 / usemap属性 / クリック可能領域の作り方) 2026-06-11 07:09:56
- break文 完全ガイド(Java / JS / for / while / switch / 多重ループ / ラベル / continue との違い) 2026-06-11 07:09:56
- SQL JOIN の ON と WHERE の違い 完全ガイド(内部結合 / 外部結合 / NULL の扱い / フィルタ順序) 2026-06-11 07:09:56
- CSS タイプセレクタ 完全ガイド(要素名で指定する基本セレクタ / 詳細度 / 全称・クラス・ID との違い) 2026-06-11 07:09:56
- CSS animation-play-state 完全ガイド(running / paused / hover で停止 / JS から再生制御) 2026-06-11 07:09:56
- UE5 ブループリント 現在日時取得 完全ガイド(Now / UtcNow / Today / DateTime / Timespan / フォーマット / タイムゾーン) 2026-06-11 07:09:56
- Java static メソッド 完全ガイド(インスタンス不要 / クラスメソッド / 使い分け / オーバーライド不可 / ユーティリティクラス) 2026-06-11 07:09:56
- ChatGPT 完全ガイド(仕組み / GPT-4o / GPT-5 / 料金プラン / API / 業務活用 / 注意点) 2026-06-11 07:09:56
- UE5 Event ActorBeginOverlap と OnComponentBeginOverlap の違い完全ガイド(アクター単位 / コンポーネント単位 / 引数の差 / 使い分け) 2026-06-11 07:09:56
- Blender モード切り替え 完全ガイド(オブジェクト / 編集 / スカルプト / ポーズ / Tab ショートカット / 用途別の使い分け) 2026-06-11 07:09:56
- HTML template要素 完全ガイド(クライアント側テンプレート / content / cloneNode / Web Components) 2026-06-11 07:09:56
- HTML link要素 完全ガイド(外部CSS読み込み / favicon / preload / rel属性 / a要素との違い) 2026-06-11 07:09:56
コメントを削除してもよろしいでしょうか?