<ruby> HTML ruby annotation element

The <ruby> HTML element represents small annotations that are rendered above, below, or next to base text, usually used for showing the pronunciation of East Asian characters. It can also be used for annotating other kinds of text, but this usage is less common.

The term ruby originated as a unit of measurement used by typesetters, representing the smallest size that text can be printed on newsprint while remaining legible.

Try it

<ruby> 明日 <rp>(</rp><rt>Ashita</rt><rp>)</rp> </ruby>
ruby {
  font-size: 2em;
}

Attributes

This element only includes the global attributes.

Examples

undefined

Example 1: Character

html
<ruby>
  漢 <rp>(</rp><rt>Kan</rt><rp>)</rp> 字 <rp>(</rp><rt>ji</rt><rp>)</rp>
</ruby>

Result

Example 2: Word

html
<ruby> 明日 <rp>(</rp><rt>Ashita</rt><rp>)</rp> </ruby>

Result

Technical summary

Content categoriesFlow content, phrasing content, palpable content.
Permitted contentOne or more groups, each consisting of two parts:
  1. The base text, which is either:
    • Phrasing content, but with no <ruby> elements and with no <ruby> element descendants, or
    • A single <ruby> element that itself has no <ruby> element descendants.
  2. The annotations for the base text, which is either:
    • One or more <rt> elements, or
    • An <rp> element followed by one or more <rt> elements, each of which is itself followed by an <rp> element (that is, rp, rt, rp, rt, ..., rp).
Tag omissionNone, both the starting and ending tag are mandatory.
Permitted parentsAny element that accepts phrasing content.
Implicit ARIA roleNo corresponding role
Permitted ARIA rolesAny
DOM interfaceHTMLElement

Specifications

See also