W3docs

Balise HTML <rtc>

L'élément HTML <rtc> est obsolète et retiré de la spécification. Découvrez le balisage ruby moderne avec <ruby>, <rt> et <rp>.

L'élément HTML <rtc> (Ruby Text Container) regroupait un ou plusieurs éléments <rt> pour attacher une seconde couche d'annotations — comme une traduction ou une lecture alternative — au texte de base ruby à l'intérieur d'un conteneur <ruby>.

Important : <rtc> est obsolète. Il a été retiré du standard HTML Living Standard avec les éléments <rbc> et <rb>. Les navigateurs modernes ne prennent plus en charge le modèle « ruby complexe » dont il faisait partie, et peuvent ignorer la balise ou la restituer de façon imprévisible. N'utilisez pas <rtc> dans les nouvelles pages. Cette page le documente à titre de référence historique et présente ci-dessous le remplacement moderne.

Pourquoi il a été supprimé

<rtc> appartenait à un ancien modèle ruby plus complexe qui s'appuyait également sur <rbc> (ruby base container) et <rb> (ruby base). Ce modèle permettait aux auteurs d'empiler deux couches d'annotations — par exemple une lecture phonétique et une traduction — au-dessus d'une base unique. En pratique, son implémentation était incohérente d'un navigateur à l'autre et difficile à rédiger, si bien que la spécification a été simplifiée. Aujourd'hui, les éléments <ruby>, <rt> et <rp> (plus un peu de CSS) couvrent les cas importants.

Le remplacement moderne

Pour le ruby est-asiatique standard — un caractère de base avec un guide de prononciation au-dessus — il suffit de <ruby>, de <rt> pour l'annotation, et de <rp> comme solution de repli pour les navigateurs sans rendu ruby.

Exemple : ruby sans <rtc>

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <ruby>
      旧<rp>(</rp><rt>jiù</rt><rp>)</rp>
      金<rp>(</rp><rt>jīn</rt><rp>)</rp>
      山<rp>(</rp><rt>shān</rt><rp>)</rp>
    </ruby>
  </body>
</html>

Les parenthèses <rp> sont masquées par les navigateurs qui restituent le ruby, et affichées en texte brut par ceux qui ne le font pas — ainsi 旧(jiù)金(jīn)山(shān) reste lisible partout.

Contrôler le ruby avec CSS

Vous pouvez ajuster l'emplacement de l'annotation et son alignement à l'aide de CSS plutôt que d'éléments conteneurs supplémentaires :

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      ruby {
        ruby-position: over;   /* place reading above the base (under, inter-character, alternate also valid) */
        ruby-align: center;    /* distribute the annotation: start, center, space-between, space-around */
      }
    </style>
  </head>
  <body>
    <ruby>漢<rt>kan</rt>字<rt>ji</rt></ruby>
  </body>
</html>

Si vous avez réellement besoin d'une seconde couche d'annotation (le cas d'usage auquel <rtc> était destiné), l'approche la plus fiable aujourd'hui consiste à utiliser deux éléments <ruby> imbriqués ou à recourir à ruby-position via CSS, car le modèle ruby complexe n'est plus interopérable.

Chemin de migration

Pour mettre à jour le balisage hérité qui utilise <rtc> :

  1. Supprimez l'enveloppe <rbc> et placez les caractères de base directement à l'intérieur de <ruby>.
  2. Conservez chaque <rt> immédiatement après la base qu'il annote.
  3. Supprimez le regroupement <rtc> ; si vous l'utilisiez pour une couche de traduction, déplacez ce texte vers un élément séparé ou un second <ruby>.
  4. Ajoutez des parenthèses de repli <rp> pour les navigateurs sans prise en charge du ruby.

Compatibilité des navigateurs

<rtc> a été retiré de la spécification et ne fait pas partie de la prise en charge ruby moderne. Considérez-le comme non pris en charge dans tout nouveau travail. Les éléments de remplacement bénéficient d'un bon support :

ÉlémentSupport
<ruby>Tous les navigateurs modernes
<rt>Tous les navigateurs modernes
<rp>Tous les navigateurs modernes
<rtc>Obsolète — supprimé, ne pas s'y fier

Les propriétés CSS ruby-position et ruby-align sont prises en charge dans les versions actuelles de Chrome, Edge, Firefox et Safari (le comportement des fournisseurs pour certains mots-clés de ruby-align varie encore).

Éléments associés

  • <ruby> — le conteneur d'annotation ruby
  • <rt> — le texte ruby (prononciation/annotation)
  • <rp> — parenthèses de repli pour les navigateurs sans ruby

<rtc> prenait autrefois en charge les Attributs globaux et les Attributs d'événement.

Pratique

Pratique
Quel est le statut actuel de l'élément HTML rtc ?
Quel est le statut actuel de l'élément HTML rtc ?
Was this page helpful?