Ruby, une balise qui aurait pu aller loin...

Actualité par (Intégrateur du Dimanche, Strasbourg)
Créé le (9819 lectures)

J'ai fait la découverte de cette balise, ou plutôt "annotation", il y'a quelques jours (merci Nanoum ;)).

Rapidement, certaines parties de sa définition m'ont parues intéressantes à développer... mais en creusant bien sous le vernis, l'intérêt de cette balise n'est pas si évident que j'aurais pu le croire.

Explications...

Le texte Ruby

Texte Ruby : Un jet de texte qui apparaît dans la proximité immédiate d'un autre jet de texte (appelé « texte de base ») et qui sert d'annotation ou de guide de prononciation associé à la base.

Les sources :

Les annotations ruby sont couramment utilisées au Japon dans de nombreuses publications, y compris les livres et les magazines. Le ruby est également utilisé en Chine dans les livres scolaires.

Plus qu'une simple balise, le principe du "ruby" est une véritable méthode, une structure à lui seul. On parle de "texte ruby" ou "d'annotation ruby". Le principe du Ruby est typiquement employé dans les documents produits en Asie orientale afin d'indiquer une prononciation, mais le W3C indique qu'il peut être utilisé comme une annotation classique, ce qui aurait pu lui donner un attrait particulièrement intéressant pour nos cultures occidentales. Mais...

Personnellement, je l'aurais bien utilisée en tant que légende au-dessus d'une image par exemple. ou alors, comme l'exemple exposé par les specifications : la mise en forme d'une date (jour-mois-année)

L'élément ruby est un élément de type en-ligne (ou au niveau du texte) qui sert de conteneur d'ensemble. Il contient soit des éléments rb, rt et éventuellement rp (balisage de ruby simple), soit des éléments rbc et rtc (balisage de ruby complexe).

En fait, l'intérêt du Ruby décroît grandement du fait de cette structure en-ligne : il faut de ce fait l'inclure au minimum dans un conteneur bloc (une div ou un p). Le gain est donc discutable par rapport à d'autres balises.

Attention également si l'annotation Ruby fonctionne sous IE6, IE5.5 et même IE5, elle ne fonctionne PAS sous Opera, ni sous Mozilla (Firebird, Firefox, Netscape 7), bien qu'elle fasse partie des Recommantations depuis 2001.

Internet Explorer serait-il cette fois-ci plus conforme que les autres navigateurs ? Allez savoir...

En conclusion, du fait de ses contraintes multiples (structure en ligne et non compatibilité sur les navigateurs... standards), l'annotation Ruby se limite donc à une utilisation quasi-exclusive : celle d'indication pour les langues idéographiques

Je cite l'avis de Laurent Denis, qui le dit mieux que moi :

Le rôle de ruby est très spécifique : ajouter des annotations aux textes écrits dans les langues idéographiques (japonais, hébreu, chinois...). Son utilisation en français est possible (la spec donne quelques exemples) mais ne me semble guère à encourager, vu le peu de support et le nombre de dérives possibles. Sans compter qu'il faudrait des surcouches CSS pour les navigateurs qui ne supportent pas ruby...

Tant mieux donc pour les pays asiatiques et pour l'internationalisation; Dommage pour nos contrées occidentales : Ruby ne sera pas le joyau attendu pour nous autres francophones.

Pour les curieux, quelques dernières explications et utilisations pratiques...

Il existe deux sortes de balisage de ruby, à savoir le « balisage de ruby simple » et le « balisage de ruby complexe »

Le balisage de ruby simple

Le balisage de ruby simple associe un seul texte ruby au jet de texte de base

<ruby>
<rb>03</rb><rt>mois</rt>
<rb>04</rb><rt>jour</rt>
<rb>2004</rb><rt>annee</rt>
</ruby>

Le balisage de ruby complexe

Le balisage de ruby complexe peut associer deux textes ruby à un seul texte de base et peut définir une association de granularité plus fine entre les composants du texte ruby et le texte de base

<ruby>
  <rbc>
    <rb>31</rb>
    <rb>10</rb>
    <rb>2002</rb>
  </rbc>
  <rtc>
    <rt>Jour</rt>
    <rt>Mois</rt>
    <rt>Année</rt>
  </rtc>
  <rtc>
    <rt rbspan="3">Date d'expiration</rt>
  </rtc>
</ruby>