<rp> en HTML : les parenthèses de repli du texte ruby

La balise <rp> fournit des parenthèses de repli pour un navigateur qui ne gère pas le ruby, invisibles quand le support fonctionne.
4 min de lecture
Believemy logo

Un navigateur ancien, ou un lecteur qui affiche le HTML sans feuille de style dédiée au ruby, tombe sur une composition <ruby> et n'a aucune idée de comment positionner l'annotation au-dessus du texte : sans indication, il risque d'afficher la prononciation collée au mot, sans aucune séparation, illisible.

<rp> existe pour ce cas précis : elle fournit des parenthèses de repli, invisibles dans un navigateur qui gère le ruby correctement, mais affichées telles quelles partout ailleurs pour garder un résultat lisible.


Définition

<rp> contient un caractère de ponctuation, presque toujours une parenthèse ouvrante ou fermante, destiné aux navigateurs incapables d'afficher correctement une composition <ruby>. Elle s'utilise toujours par paire, une avant l'annotation <rt>, une après, et n'a de sens qu'à l'intérieur d'une balise <ruby>.

Son fonctionnement repose sur un contraste simple : un navigateur qui comprend le ruby ignore entièrement le contenu de <rp> et positionne l'annotation au bon endroit visuellement, tandis qu'un navigateur qui ne le comprend pas affiche tout le texte à la suite, y compris les parenthèses, ce qui reste lisible même sans mise en forme particulière.


Utilisation en paire autour de rt

HTML
<ruby>
  漢字
  <rp>(</rp><rt>かんじ</rt><rp>)</rp>
</ruby>

Le premier <rp> contient une parenthèse ouvrante, placée juste avant rt. Le second contient la parenthèse fermante, placée juste après. Sans support du ruby, le résultat affiché à l'écran devient 漢字(かんじ), parfaitement lisible en texte brut.


Invisible dans un navigateur qui supporte le ruby

Sur un navigateur qui gère correctement le ruby, une règle de style par défaut masque tout le contenu de <rp> puisque l'annotation trouve déjà sa place, au-dessus du texte de base, sans avoir besoin de parenthèses pour se distinguer visuellement. L'utilisateur ne voit jamais ces parenthèses dans un navigateur moderne à jour, ce qui explique pourquoi la balise reste souvent découverte tardivement, y compris par des personnes qui lisent du HTML annoté depuis des années.

Bon à savoir

Un piège fréquent consiste à omettre <rp> en pensant qu'elle est purement décorative puisqu'elle ne s'affiche jamais dans un navigateur récent. Sans elle, un navigateur sans support ruby affiche l'annotation collée au texte de base sans aucune séparation, ce qui rend le résultat illisible pour quiconque ne bénéficie pas du rendu ruby.


Bonnes pratiques

Ajouter systématiquement une paire de <rp> autour de chaque <rt> coûte deux petites balises et ne change rien pour l'immense majorité des visiteurs, qui utilisent un navigateur récent où elles restent invisibles. En retour, cela garantit un texte lisible pour les rares cas où le support fait défaut, sans dépendre d'aucune condition ni détection technique particulière.


Vérifier le résultat sans support ruby

Le moyen le plus simple de contrôler qu'une paire de <rp> fait son travail consiste à copier le texte annoté dans un éditeur de texte brut, sans aucune mise en forme : le résultat doit rester lisible tel quel, parenthèses comprises, sans dépendre d'un navigateur particulier pour donner du sens à la phrase. Ce test rapide révèle immédiatement un oubli, par exemple une seule <rp> posée au lieu de la paire complète, ce qui laisserait une parenthèse orpheline dans le texte de repli.


Questions fréquentes

Question

<rp> est-elle obligatoire pour qu'une composition ruby fonctionne ?

Non, une composition <ruby> fonctionne très bien sans elle sur un navigateur qui gère le ruby. Elle reste néanmoins fortement recommandée comme filet de sécurité pour les navigateurs plus anciens ou les lecteurs de texte qui ignorent tout du ruby, où son absence rend l'annotation illisible.

Question

Peut-on mettre autre chose qu'une parenthèse dans <rp> ?

Rien ne l'interdit techniquement, mais la parenthèse reste la convention quasi universelle car elle produit un résultat lisible dans n'importe quelle langue sans ajouter de sens supplémentaire. Un autre caractère de ponctuation resterait valide, à condition de garder la paire ouvrante et fermante cohérente.

Question

Le contenu de <rp> est-il lu par les lecteurs d'écran ?

Cela dépend du lecteur d'écran et de son support du ruby : certains l'ignorent comme un navigateur moderne, d'autres le lisent avec le reste du texte. C'est justement pour cette incertitude que le contenu doit rester une simple parenthèse, jamais une information indispensable à la compréhension.

Termes connexes

Découvrez notre glossaire HTML et CSS

Parcourez les termes et définitions les plus couramment utilisés dans le domaine du développement HTML et CSS.

Partager cet article

Tu veux nous aider ? Fais un lien vers cet article sur tes réseaux ou encore mieux : sur ton site, dans un article ou dans ta newsletter.