5568 sujets

Sémantique web et HTML

Pages :
Bonsoir tous

<a name="haut_de_page"></a> et XHTML1.1

J'ai lu je pense la plupart des topics,visité les sites références,le net,......... Smiley murmure
<a name="haut_de_page"></a> ==> passe pas
<a id="haut_de_page"></a> ==> passe pas
<a id="haut_de_page" name="haut_de_page"></a> ==> passe pas

Bien sur,ici et ailleurs,il est précisé qu'en 1.1 c'est pas la peine ==>OK
Mais alors,comment on fait???
La solution existe-t-telle,en XHTML ou en CSS!!!

(Par moment je commence a me dire qu'aprés tout,le W3C,.......)
Modifié par griggione (12 Apr 2006 - 19:56)
Bonsoir Freedom_09

Non mais ça marche bien,seulement le validateur W3C refuse tout........
Alors comment coder pour avoir des boutons de haut de page,bas de page,précedent,retour,etc.........
Bonjour griggrione,

On ne comprend pas très bien quel est ton problème avec cette pauvre ancre "haut de page" qui ne passe pas ... au validateur ?

Nous aimerions bien t'aider, mais il faut que tu sortes du truc et que tu fasses un pas vers nous !

Smiley biggrin
Bonsoir Vero

Je pensais etre clair Smiley decu

Bon,normalement pour un bouton de haut de page:
<a name="haut_de_page"></a>
<a href="#haut_de_page"><img title="haut de page" src="http:...


Seulement le validateur pour le XHTML1.1 le refuse.OK
En recherchant,j'en revient aux differents possibilités essayées.....voir 1er post.
RE

Error Line 16 column 15: document type does not allow element "a" here; missing one of "ins", "del", "h1", "h2", "h3", "h4", "h5", "h6", "p", "div", "pre", "address", "fieldset" start-tag.

<a id="haut_de_page"></a>

Error Line 75 column 57: document type does not allow element "a" here; missing one of "ins", "del", "h1", "h2", "h3", "h4", "h5", "h6", "p", "div", "pre", "address", "fieldset" start-tag.

<a href="#haut_de_page"><img title="Haut de page" src="http://d

Et pareil pour le bas de page évidemment.
J'ai donc essayé avec id,etc.......toujours pareil.
Il m'aime plus le validateur Smiley bawling
Modifié par griggione (06 Apr 2006 - 21:31)
Bonsoir QuentinC

Ben voila autre chose..... Smiley eek
Je n'ai pas eu d'alerte à ce sujet,m'enfin voila la bête:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<h1 id="haut_de_page">Le titre de mon site</h1>

Et paf un lien qui pointe vers #haut_de_page.

Sur mon site ça marche.
Par contre il y a peut-être des problèmes de compatibilité avec des navigateurs anciens.
EDIT: je viens de vérifier avec IE6, pas de problème.
Modifié par mpop (06 Apr 2006 - 21:42)
Bonsoir Griggione,

En lisant le message d'erreur du validateur, tu peux voir qu'il manque un élément parent à ton <a>, qui ne peut pas être un enfant direct du body. Il doit être inclut dans un des éléments énuméré par le validateur.
Modifié par Jihel (06 Apr 2006 - 21:44)
Au passage, c'est pour une page web, à lire avec un navigateur web ?

Parce que si c'est le cas, le XHTML 1.1 est à proscrire. Il faut "rester" au XHTML 1.0 servi en type MIME "text/html".
Bonsoir mpop,Jihel

Bon merci,je vais voir ça.

EDIT: ha bon.....je veux bien mpop,mais dans ce cas,le 1.1 est fait pour quoi alors?????
Modifié par griggione (06 Apr 2006 - 21:47)
RE

mpop a écrit :
<h1 id="haut_de_page">Le titre de mon site</h1>


OK une erreur de moins,mais le bouton ne renvoie nulle part???
Modifié par griggione (06 Apr 2006 - 21:54)
RE

Jihel a écrit :

En lisant le message d'erreur du validateur, tu peux voir qu'il manque un élément parent à ton <a>, qui ne peut pas être un enfant direct du body. Il doit être inclut dans un des éléments énuméré par le validateur.

Bon d'accord,je fais comme le préconisempop et que tu soulignes aussi.
mais je l'a met ou cette ligne:

<a  href="#hdp"><img title="Haut de page" src="http...
mpop a écrit :
Au passage, c'est pour une page web, à lire avec un navigateur web ?

Parce que si c'est le cas, le XHTML 1.1 est à proscrire. Il faut "rester" au XHTML 1.0 servi en type MIME "text/html".


C'est exactement ce que je suggérais avec ma question semi-hs.
griggione a écrit :

OK une erreur de moins,mais le bouton ne renvoie nulle part???

Si tu as
<h1 id="haut_de_page">Titre</h1>

et
<a href="#hdp">Haut de page</a>

c'est sûr que ca marchera pas ! Il faut faire coordonner l'id et le lien sinon ca n'a pas de sens.
griggione a écrit :
mais je l'a met ou cette ligne:
<a  href="#hdp"><img title="Haut de page" src="http...

Tu la mets où tu veux dans la page, sauf qu'elle ne doit pas être enfant direct de body. Un lien doit être contenu dans un <p>, <div> ou tout autre bloc.
Bonjour tous Smiley coucou

[b]This Page Is Valid XHTML 1.1![/b]...... [clapclap]


Aprés lecture à tête reposée ( Smiley saoul ) j'ai donc repris et fais les tests.
Je pense que l'exemple du code sera plus parlant.

Avant:
  
<body>
       [b]<a name="haut..."></a>[/b]
    <div id="tete">
       <a href="http://domai..........
    </div>

   
       [b]<a  href="#haut..."><img title=... [/b]  
    <div id="pied">
      <div class="menu6">
        <ul>
          <li style="ma.....


Aprés:

<body>
    <div id="tete">
       [b]<a id="haut..."></a>[/b]
       <a href="http://domai..........
    </div>


    <div id="pied">
       [b]<a  href="#haut..."><img title=...[/b]
       <div class="menu6">
         <ul>
           <li style="ma....


J'ai donc appliqué les conseils,à savoir ne pas être enfant direct de body.
Mal perçu au navigateur,je l'ai mieux assimilé par les réponses,et comme je veux comprendre avant d'appliquer...... Smiley cligne
De meme,mainte fois répété,c'est id et non name qu'il faut utilisé.

Pour revenir au probleme du XHTML1.1 et donc le type MIME "text/html".
En suivant le lien trouvé ici d'un autre validateur (je sais plus ou),effectivement cette erreur est précisée,pas dans le W3C classique.

Alors que faire,est-ce suffisant ou bien faut-il changer encore et revenir à la version 1.0
Bonsoir,

Comme celui-ci : http://www.validome.org
Il n'aime pas le (x)html 1.1 déclaré en texte/html.

Pour surenchérir sur mpop :

De plus, c'est vrai que ce n'est pas recommandé de coder en 1.1 pour envoyer ça ; dans ce cas, du xhtml 1.0 strict fais l'affaire (approuvé par le W3C), et qui peut être envoyé comme text/html (en plus, il est moins restrictif que le 1.1).

Cependant pour du 1.1, il faut déclarer : "application/xhtml+xml". Seuls les navigateurs récents comprennent ça et peuvent afficher ce type de pages. IE ne le comprend pas et ouvre toujours une boîte de téléchargement.

Il faut donc envoyer "application/xhtml+xml" aux navigateurs qui le prennent en charge, et du "text/html" aux autres.
Sans être expert dans ce domaine, voici la solution que j'ai retenu : modification de l'entête par un script PHP :


<?
if(stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml")){
header("Content-Type: application/xhtml+xml; charset=ISO-8859-1");
echo('<?xml-stylesheet href="http://univers-fusco.com/c/univers.css" type="text/css" title="defaut" media="screen"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">');
} else {
header("Content-Type: text/html; charset=ISO-8859-1");
echo ('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<link href="http://univers-fusco.com/c/univers.css" rel="stylesheet" type="text/css" media="screen" />');
}
?>


Ce petit script modifie l'entête en fonction des capacités des navigateurs :
la page s'affiche en xhtml 1.1 "application/xhtml+xml" sur un navigateur le comprenant (si je dis récent, ça ne va pas car IE 7...), et xhtml 1.0 strict aux autres (comme IE). Je sais que c'est perfectible, mais il a l'avantage de fonctionner.

Petite mise en garde :
la moindre erreur de balise sur un document "application/xhtml+xml" provoque une erreur de parser et la page ne s'affiche pas (c'est très pratique pour déceler des erreurs de balisage, mais ça peut être gênant également).

(Me reste plus qu'à apprendre le xml pour que tout ça serve vraiment.) Smiley cligne
Modifié par Smiley neko (07 Apr 2006 - 19:48)
Pages :