Navigation au travers d'éléments LINK en HTML

15 juin 1997

CSS conformance button Cette version:
http://www.w3.org/TR/NOTE-link-970826.fr.html
Version anglaise:
http://www.w3.org/TR/NOTE-link-970826.en.html
Auteur:
Daniel Glazman, Electricité de France, Direction des Etudes et Recherches

  1. Etat de ce document
  2. Introduction
  3. Suivi d'un lien LINK
    1. Ancre et URL fragment pointant vers un LINK
    2. Déreférencement entre deux documents
  4. Restituer les éléments LINK
  5. Conclusion
  6. Remerciements

Etat de ce document

Ce document est un document soumis pour discussion au W3C.

Introduction

Le modèle de document (DTD) Cougar est composé comme les précédentes versions de HTML de deux parties principales. L'en-tête du document, l'élément HEAD, ne contient que des éléments décrivant le document et ses interactions avec d'autres données et ne devant a priori pas être restituées par les logiciels de navigation. Le corps du document, l'élément BODY, contient lui des éléments devant être restitués.

Cougar, sous peu connu sous le nom de HTML 4.0, permet de définir des relations entre le document courant et

Ces relations peuvent être portées par un lien LINK (élément de HEAD) ou une ancre A (élément de BODY) dans leurs attributs REL, REV et HREF .

La plupart de ces relations sont celles qui sont exploitées dans la navigation inter-documentaire et qui sont présentes dans le corps des documents. L'ajout d'éléments LINK dans l'en-tête des documents, utile à la gestion de site par exemple, pourrait donc constituer une redondance difficile à accepter pour les rédacteurs documentaires, et par là défavoriser l'usage de LINK, malgré son intérêt évident.

Il est donc proposé d'intégrer à HTML un mécanisme permettant de suivre les éléments LINK d'un document.

Suivi d'un lien LINK

Ancre et URL fragment pointant vers un LINK

Il est ici proposé de déreférencer les attributs HREF REL et REV portés par les ancres A en utilisant l'attribut ID porté par les éléments LINK :

Une ancre A dont la cible pointée par son attribut HREF est un élément LINK présent dans le HEAD d'un document et portant l'attribut ID correspondant au HREF de l'ancre voit ses attributs HREF REL et REV déreférencés et devra utiliser en lieu et place de la valeur de ceux-ci la valeur des mêmes attributs portés par l'élément LINK ciblé.

Exemple :

<HTML>

<HEAD>
  <TITLE>First test</TITLE>
  <LINK REL=parent ID=linkParent HREF=../parent.html>
</HEAD>

<BODY>
  <P>The target of this <A HREF=#linkParent>anchor</A>
  is the parent of the current document</P>

  <P> bla bla bla</P>

  <P>And the target of <A HREF=#linkParent>this one</A>
  too !!!</P>
</BODY>

</HTML>

Dans cet exemple un suivi de l'ancre ne restituera pas l'élément effectivement ciblé par l'ancre, soit un élément LINK, mais le document pointé par ce LINK, soit dans ce cas le document ../parent.html. Cet exemple est équivalent à

<HTML>

<HEAD>
  <TITLE>First test</TITLE>
  <LINK REL=parent ID=linkParent HREF=../parent.html>
</HEAD>

<BODY>
  <P>The target of this
  <A REL=parent HREF=../parent.html>anchor</A>
  is the parent of the current document</P>

  <P> bla bla bla</P>

  <P>And the target of
  <A REL=parent HREF=../parent.html>this one</A>
  too !!!</P>
</BODY>

</HTML>

Cette solution permet à tout lien LINK susceptible d'être suivi par l'usager en cours de navigation d'être restitué dans le corps du document sans aucune modification ni adaptation dela spécification Feuilles de Styles CSS.

Déreférencement entre deux documents

Si la cible d'une ancre portant un URL fragment n'est pas située dans le document courant, l'agent de navigation devra pour suivre ce lien obtenir le document en question.

Par exemple, si le document toto.htm contient la séquence suivante :

<BODY>
...
<A HREF=tata.htm#linkParent>cliquer ici</A>
...
</BODY></HTML>

et que le document tata.htm contient lui :

<HEAD>
...
<LINK REL=parent ID=linkParent HREF=tutu.htm>
...

le suivi par l'usager de l'ancre du document toto.htm chargera le document tata.htm pour enfin restituer le document tutu.htm.

Il n'est pas permis que l'élement LINK ciblé par une ancre pointe lui-même vers un élément du HEAD d'un document.

Restituer les éléments LINK

Les éléments LINK sont contenus dans le HEAD des documents HTML. Même si rien ne s'oppose à ce que des règles de style CSS soient appliquées à ces éléments, on constate dans les faits que cela n'est pas réalisé par les browsers.

La pésente proposition n'est pas une proposition d'extension de la restitution des éléments HTML aux éléments d'en-tête des documents. Ce thème n'est qu'un infime partie d'un thème beaucoup plus vatse et concernant l'accès aux meta-données du document depuis le corps du document lui-même.

Conclusion

La maintenance d'un site Web est rendue en général rendue très fastidieuse par la maintenance des liens inter-documentaires présents n'importe où dans les documents. Une telle proposition, permettant de déporter dans le HEAD de chaque document la référence aux principaux objets liés à ce document, devrait

  1. promouvoir l'usage de l'élément LINK,
  2. permettre la réalisation de meilleurs outils de gestion de site sans nécessaire intégration d'un parser SGML
  3. d'éviter les redondances de liens dans un document

Remerciements

Mes plus sincères remerciements pour leur aide à