5568 sujets

Sémantique web et HTML

Bonjour,

J'ai créer pas mal de texte, et j'ai introduit des ancre pour me ramener au début( en haut de page)
Le problème, c'est que j'ai plusieur ancres, donc je ne peux utiliser de ID
voici mon code

<body id="top">

<a href="#top">lien</a>


Avez-vous une idée ( peut-être des classe) pour résoudre le problème?
J'ai bien pensé à faire reloader la page, mais c'est un peu bête.

Merci d'avance
Loic Smiley eek
Tu peux aussi mettre ceci en haut de page, juste après ta balise "boby", ou haut de ton contenu (ou conteneur) :

<a name="haut" id="haut"></a>

et l'ancre n'appparaîtra pas à l'écran, mais sera fonctionnelle. Tu peux en poser autant que tu veux et les appeler autant de fois que tu veux dans ta page ...
<Edit>
solution utilisée sur le forum (voir le code source) :

<a href="#"><img src="skins/pixel/p_up.gif" alt="^" /></a>

(De toute façon, à partir du moment ou tu utilises le caractère "#", tu recharges la page, et ça permet à l'usager de pouvoir revenir en arrière avec son navigateur à l'endroit où il était précédemment dans sa lecture, si il le souhaite).
Modifié par Macpom (30 Aug 2005 - 10:28)
Bonjour,
alors voila, j'ai essayé vos différents truc, ça marche soussFF mais pas sur IE:
<body >
  <div><a name="haut" id="haut"></a></div>
  <div><a name="haut2" id="haut2"></a></div>
  <div><a name="haut3" id="haut3"></a></div>
  <div><a name="haut4" id="haut4"></a></div>
....


et plus loin:
 <p class="ancre">
          <a href="#haut">
            <img class="image" onmouseover="this.src='images/direction_rol.gif'" title="haut de la page" onmouseout="this.src='images/direction.gif'" alt="retour menu" src="images/direction.gif" /></a>
        </p>


ça me semble correct, mais sur IE, il ne comprends pas, et en plus c'est validé strict Xhtml Smiley decu

Qui aurait une idéée maaaaaaaaaaagique? Smiley langue

Merci de ton coup de main.
Loic
Si j'ai bien retenu le livre de Raphael, faire <a href="#">Haut</a> marche sur la quasi-totalité des navigateurs récents, sauf Opera...
Modifié par Sylvain (04 Sep 2005 - 20:09)
Sylvain a écrit :
Si j'ai bien retenu le livre de Raphael, faire <a href="#">Haut</a> marche sur la quasi-totalité des navigateurs récents, sauf Opera...


Ahem. Faux. Marche sur Opera.

Marche en fait au petit bonheur la chance n'importe où, sauf en certains endroits : en s'en remettant au comportement de chaque navigateur, totalement libre de faire à sa manière quand un tel code valide mais absurde est employé (viser un identifiant inexistant et absent).

C'est à proscrire par précaution, si on se soucie d'interopérabilité et d'accessibilité, en l'absence de toute certitude sur le comportement de l'UA.

Un simple id "top" en tête de page et des liens explicites vers href="#top", est-ce donc si compliqué et si coûteux ?

Mieux encore : laisser le navigateur et son interface utilisateur faire leur travail. Ne pas mettre de liens vers "le haut de la page". C'est typiquement de leur ressort, et ça n'a rien à faire dans la page en question.
Administrateur
Laurent Denis a écrit :
Mieux encore : laisser le navigateur et son interface utilisateur faire leur travail. Ne pas mettre de liens vers "le haut de la page". C'est typiquement de leur ressort, et ça n'a rien à faire dans la page en question.

Ah l'éternel problème de laisser à l'auteur le soin de découvrir son navigateur... ce qu'il ne fait en général jamais Smiley smile
Pour ma part, j'ai appris l'existence d'une touche allant en haut de page... il y'a quelques mois. Jusqu'alors, le lien "aller en haut de page" m'a toujours été très utile.
Je m'en sers d'ailleurs toujours, même si je sais à présent qu'une touche existe pour cela. Doit-on me priver de ce plaisir et de cette fonctionnalité que je trouve utile ?
Modifié par Raphael (04 Sep 2005 - 21:37)
C'est un problème pris par le mauvais bout, Raphaël. Totalement par le mauvais bout, c'est à dire l'utilisateur, qui n'est en fait pas du tout en cause.

Que devrions-nous mettre "en dur" dans le code HTML, pour offrir des subsituts explicites aux fonctionnalités natives des agents utilisateurs ?
- le lien haut de page
- le lien bas de page
- le style switcher
- le lien "version imprimable"
- les multiples liens ou le formulaire "agrandissement des caractères"
- le lien "mettre en favori"
- le lien "envoyer à un ami"
- on s'arrête là, ou on descend plus bas dans cette échelle sans fin, je n'ose dire vers quoi ?

Ou alors, on devient carrément philosophique : le lien vers la page d'accueil du site, le lien vers la licence, celui vers le plan, celui vers la page contact, etc. n'auraient rien à faire dans un document, en fait. Il y a des liens relatifs pour cela.

L'important est qu'il s'agit de concevoir des interfaces intuitives, utilisables, rapides. Les encombrer de ce qui est à la charge de l'agent utilisateur n'apporte guère qu'un sentiment illusoire d'être utile. Cas type : le lien haut de page, pour qui n'a pas accès à la souris et devra tabuler cinquante fois pour l'atteindre... alors qu'il exécutera immédiatement le raccourci ou autre mécanisme propre à son outil... Ou pour qui a un bouton familier dans son interface et va cliquer dessus sans même se poser la question.

Oublions l'utilisateur qui ne sait pas se servir des fonctionnalités de son navigateur : pas parce que ce serait son problème et pas le notre, ce qui serait une grosse erreur d'utilisabilité. Mais parce que c'est le problème unique de l'entreprise qui produit le navigateur en question, et de la visibilité de ses fonctionnalités. En aucun cas celle du site Web.

Autrement dit, c'est à Mozilla, Microsoft, Opera, etc. de se poser la question de la visibilité de cette fonctionnalité dans leurs produits. Pas au site de s'encombrer d'un substitut.
Modifié par Laurent Denis (04 Sep 2005 - 21:59)
Bonjour.
Perso, je trouve les liens haut de page et bas de page complètement inutiles.
Ctrl+Home et Ctrl+End font exactement le même travail.
Sur firefox, on peut même omettre Ctrl.

Le problème, c'est que personne ne dit aux utilisateurs que cette fonctionnalité existe...
QuentinC a écrit :

Le problème, c'est que personne ne dit aux utilisateurs que cette fonctionnalité existe...


Moi si, dans l'aide à la navigation du site que j'ai fait.

Et néanmoins j'utilise un lien haut de page. Pour une raison très simple, c'est que cela permet de redonner le focus au premier lien du document ce qui peut être utile dans une navigation clavier et ce que ne fait pas la touche "home". La logique de cette utilisation est donc assez proche de celle des liens d'accès direct.

Laurent Denis a écrit :

Ahem. Faux. Marche sur Opera.

sur la version 8 seulement.

Laurent Denis a écrit :

Un simple id "top" en tête de page et des liens explicites vers href="#top", est-ce donc si compliqué et si coûteux ?


Combien reste t'il d'internet explorer de version antérieure à la 6 opérationnels ? Parce que pour eux l'ancrage via "id" (en place de "name") ne fonctionne pas. Et là on ne parle pas de lien haut de page mais de tout ancrage dans la page.

J'en profite pour redonner le petit topo que j'ai déjà fait la dessus dans un autre post. Merci de le contredire ou de bien vouloir en tenir compte.


a écrit :

#_top ne fonctionne jamais.

#top fonctionne avec IE sans ancrage. Mais pas avec FF et Opera.

L'ancrage par un id="ancre" marche avec FF, Opera, IE6. Mais, de mémoire pas avec les versions antérieures d'IE.

<a href="#"> marche avec IE5, IE6, FF mais pas avec toutes les versions d'opera. De plus et c'est un vrai problème, ça ne redonne pas le focus au lien en tête de document. Donc intérêt quasi nul.

L'ancrage par <a name="ancre"> marche avec IE5, IE6, FF(geckos), Opera. Et c'est valide xhtml 1.0 strict.

Modifié par clb56 (07 Sep 2005 - 08:03)
clb56 a écrit :
Combien reste t'il d'internet explorer de version antérieure à la 6 opérationnels ? Parce que pour eux l'ancrage via "id" (en place de "name") ne fonctionne pas. Et là on ne parle pas de lien haut de page mais de tout ancrage dans la page.


Si j'en crois les versions standalone, cela fonctionne à partir de la version 4 d'Internet explorer

Edit : ok, en fait ça ne fonctionne pas pour <body>, mais sur les autres éléments, oui.
Modifié par Alan (03 Jul 2006 - 14:25)