5568 sujets

Sémantique web et HTML

Salut à tous
Après la rédaction de la page principale de mon site, j'ai voulu la valider. Le validateur m'a affiché 41 erreurs(répétition d'une meme action que j'ai apprise)....
Je voudrais comprendre pourquoi j'ai cette erreur ou est ce que j'ai gaffer
J'ai recopié une partie de mon code qui a été une des cibles du validateur.
Mon doctype:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Pour toutes les autres j'ai utilisé ce meme syntaxe
les parties en gras sont le cible de ce commentaire:
Line 38, Column 22: document type does not allow element "label" here; missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "address", "fieldset", "ins", "del" start-tag <label for="mail">Mail :</label>
&#9993;


The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.

One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").

-------------------------------------------------------------------------------------------------------------
<!--Une partie de mon code-->
<form id="connection" method="get" action="compte.html">

<label for="mail">Mail :</label>
<input type="text" id="mail" name="mail" /> <br />
<label for="mot2passe">Mot de passe :</label>
<input type="password" id="mot2passe" name="mot2passe" /><br />
<input type="submit" id="connect" name="connect" value="Connect" />
</form>
Modérateur
Salut,

Le message d'erreur est clair : Pas d'élément BR (saut de ligne) à cet endroit et cela doit être entouré par des balises spécifiés.

1. Dans ton cas, le BR donne un code dégueulasse. Ce n'est pas du tout pertinent de l'utiliser à cet endroit.
2. Tu utilises un DTD xhtml 1.1 strict. Or si tu es relativement débutant en html et que tu n'as pas du tout besoin de ce DTD, je te déconseille de l'utiliser.
3. Pour corriger ton soucis, tu as deux solutions. (Perso, je préfère la 2e):
3.1 :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  <title></title>
</head>
<body>
  <form id="connection" method="get" action="compte.html">

<fieldset>
<legend>intitulé formualire</legend>
  <p>
  <label for="mail">Mail :</label>
  <input type="text" id="mail" name="mail" />
  </p>
  <p>
  <label for="mot2passe">Mot de passe :</label>
  <input type="password" id="mot2passe" name="mot2passe" />
  </p>
  <p>
  <input type="submit" id="connect" name="connect" value="Connect" />
  </p>
</fieldset>
</form>
</body>
</html>

3.2 :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  <title></title>
</head>
<body>
  <form id="connection" method="get" action="compte.html">
<fieldset>
  <legend>intitulé formulaire</legend>
    <ul>
    <li>
      <label for="mail">Mail :</label>
        <input type="text" id="mail" name="mail" />
    </li>
    <li>
      <label for="mot2passe">Mot de passe :</label>
      <input type="password" id="mot2passe" name="mot2passe" />
    </li>
    <li>
      <input type="submit" id="connect" name="connect" value="Connect" />
    </li>
    </ul>
</fieldset>
</form>
</body>
</html>


ps : Stp, peux tu rééditer ton message afin de te conformer à la charte du forum ?
Modifié par niuxe (25 Nov 2012 - 11:12)
Un grand merci à toi niuxe pour tes conseils...
J'ai testé et cela donne un sans fautes pour xhtml 1.1


Merci!!!!