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

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>

Trackbacks

Aucun trackback pour le moment.

Les trackbacks pour ce billet sont fermés.

Evaluez ce billet

Commentaires

Le jeudi 3 juin 2004 à 15:54, par snoop :: site :: #

<blockquote>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</blockquote>

C'est là tout le problème.
Il faut se tenir à jour des "nouveautés", mais aussi les tester sur chaques navigateurs.
Je n'arrive pas à comprendre qu'ils ne se mettent pas au diapason, ces "marchands" de navigateurs.

Le jeudi 3 juin 2004 à 21:10, par Antoine :: site :: #

Hello, une petite coquille dans le code du ruby simple...

En gros, en français, ca sert à rien :D

Le jeudi 3 juin 2004 à 22:22, par Raphael GOETTER :: #

@Antoine : "En gros, en français, ca sert à rien :D" --> Ouaip, mais ça aurait pu ! :D

Le vendredi 4 juin 2004 à 06:22, par Laurent Denis :: site :: #

Pour compléter notre discussion sur ce sujet, sauf erreur de ma part :
- ruby n'est utilisable qu'à partir du XHTML1.1
- le XHTML1.1 devrait être servi en type MIME application/xhtml+xml
- IEWin, seul navigateur à supporter ruby, ne supporte pas le type mime application/xhtml+xml

L'utilisation de ruby contraint donc à servir du XHTML1.1 en text/html, ce qui n'est pas incorrect, mais la décision d'enfreindre le "*should not* be served as text/html" doit être bien pesée :
"there may exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed before implementing any behavior described with this label."
(rfc.net/rfc2119.html)

Le jeudi 2 septembre 2004 à 23:55, par zefling :: site :: #

moi je m'en sert le japonais. C'est pratique parce que cela permet de mettre de hiragana de lecteur. Mais le problème c'est que lors que l'on sort de IE ca pert toute son utilité.

voisu un exemple :
<ruby style="ruby-align:distribute-space"><span lang="JA" style="font-family: MS Mincho">&#21335;</span><rp>(</rp><rt style="font-size:6.0pt;font-family:"MS Mincho;layout-grid-mode:line;font-weight:normal>&#12415;&#12394;&#12415;</rt><rp>)</rp></ruby>

Le mardi 7 juin 2005 à 18:02, par HoPHP :: site :: #

Ca peut fonctionner sous Firefox, moyennant l'ajout d'une extension !

extensions.geckozone.org/...

Mais bon, ça reste expérimental et je vois mal l'intérêt en français, ça me semble être une reformulation des <table>, non ? Ne sont-ce pas des données tabulaires ?

++, HoPHP

Ajouter un commentaire

Les commentaires pour ce billet sont fermés.