ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
<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=サッカー, 子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アノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?