5568 sujets

Sémantique web et HTML

bonjour
c'est curieux cette histoire avec HTML

je connaissais la syntaxe sans ponctuation que j'utilise :
<font face="Arial" Color="#CC3300">... </font>

je savais qu'une syntaxe avec la ponctuation [ point-virgule ; ] était valide :
<font face="Arial"; Color="#CC3300">... </font>

mais je ne savais pas que celle avec la ponctuation [ point . ] ou [ deux point : ] était aussi valide :
<font face="Arial": Color="#CC3300">... </font>

je me suis aperçut de cela en corrigeant les lignes de code d'une amie qui utilise la ponctuation [ point-virgule ; ] - mais deux fois elle a fait des erreurs d'inattentions en écrivant [ point . ] ou [ deux point : ] à la place de [ point-virgule ; ]

l'affichage a été correct ! – visiblement les ponctuations [ point . ] ou [ deux point : ] semblent valides – je m'attendais à une erreur d'affichage !

qu'en est-il exactement des règles de ponctuation dans HTML ?
Salut,

Oublie les éléments et attributs de présentation comme l'élément font et l'attribut face. Connaîtrais-tu, par hasard, l'existence des CSS ? Smiley cligne
Modérateur
@victor : +1000....

À moins de créer une newsletter et ainsi, ces éléments html ont leurs utilités.
niuxe a écrit :
À moins de créer une newsletter et ainsi, ces éléments html ont leurs utilités.

Même en créant une newsletter, on peut s'en passer.
à < Victor BRITO >
moi je traite les styles qu'avec CSS - je traite l'apparence avec HTML très rarement si par exemple il y a un texte d'une autre couleur et une seule ou deux fois dans un site

mes questions concernant la ponctuation ne me seront donc rarement utile et même jamais utile puisque je préfère me passer de [ ; ] quand ce n'est pas indispensable

mes questions concernant la ponctuation relève donc de la curiosité
Modérateur
Victor BRITO a écrit :

Même en créant une newsletter, on peut s'en passer.


En temps normal oui. Si on ne voit pas le rendu final dans le client mail (c'est arrivé ces jours ci : grrrr), autant utiliser les veilles voir très vieilles techniques (spacer.gif) avec font / strong / center / etc..

@RR7008 : Perso, j'ai jamais vu ce type d'écriture (;:.).
Modifié par niuxe (17 Jun 2014 - 00:53)
Modérateur
RR7008 a écrit :

je savais qu'une syntaxe avec la ponctuation [ point-virgule ; ] était valide :
&lt;font face=&quot;Arial&quot;; Color=&quot;#CC3300&quot;&gt;... &lt;/font&gt;
...
qu'en est-il exactement des règles de ponctuation dans HTML ?


Hum ! Si on retire l'espace après le ;, ça ne marche plus. Et si on remplace le ; par n'importe quoi, y compris une lettre, du moment qu'il y a un espace ensuite, ça marche.

En HTML5, on peut mettre presque n'importe quel caractère dans le nom d'un d'attribut, y compris donc des signes de ponctuation (qui n'en sont donc pas du coup, et qui sont en fait des noms d'attribut ou portions de nom d'attribut).

Le W3C dit : attribute names must consist of one or more characters other than the space characters, U+0000 NULL, """, "'", ">", "/", "=", the control characters, and any characters that are not defined by Unicode.

C'est en fait juste un concours de circonstances si la syntaxe que tu emploies semble marcher.

Amicalement,
Modérateur
Bonjour,

Essayez le bout de code suivant :


<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Argh</title>
</head>
<body>
<div id="toto" ,="Tata">Tutu</div>
<script>
alert(document.getElementById("toto").getAttribute(","));
</script>
</body>
</html>


Surprenant, non ?

Amicalement,
{ ... Si on retire l'espace après le ;, ça ne marche plus. Et si on remplace le ; par n'importe quoi, y compris une lettre, du moment qu'il y a un espace ensuite, ça marche...}

c'est ce que j'avais remarqué - mais je n'étais sur de rien - < parsimonhi > avec ta réponse (extrait du W3C) les choses sont claire - je n'aurais pas eu l'idée de chercher à cet endroit

moi je n'aime pas les [ ; ] et autres ponctuations - mon amie s'y accroche ! - autant qu'elle le fasse sans faute
La spécification dit surtout :

a écrit :

Start tags consist of the following parts, in exactly the following order:
A "<" character.
The element’s tag name.
Optionally, one or more attributes, each of which must be preceded by one or more space characters.
Optionally, one or more space characters.
Optionally, a "/" character, which may be present only if the element is a void element.
A ">" character.


http://www.w3.org/TR/html-markup/syntax.html#syntax-elements

Donc les seuls caractères qui doivent apparaître entres les attributs et leurs paramètres dans un élément sont des espaces et rien d'autre. Pas de point-virgules ni de virgules. Si ça fonctionne dans certains clients c'est qu'ils sont permissifs et corrigent d'eux même les erreurs mais rien ne garanti que ce soit le cas pour tous les clients.
Modérateur
Bonsoir,

Les clients ne sont pas permissifs. Le ";" est considéré comme étant le nom d'un attribut par les clients (et avec raison car c'est dans la norme). Quand cet attribut au nom très particulier est suivi d'un espace, il est considéré comme un attribut sans valeur, et ça donne une syntaxe valide.

Amicalement,
parsimonhi a écrit :
Bonsoir,

Les clients ne sont pas permissifs. Le &quot;;&quot; est considéré comme étant le nom d'un attribut par les clients (et avec raison car c'est dans la norme). Quand cet attribut au nom très particulier est suivi d'un espace, il est considéré comme un attribut sans valeur, et ça donne une syntaxe valide.

Amicalement,


Pas du tout, relis la spec : "un attribut doit être précédé d'un espace". Ce n'est pas le cas dans l'exemple donné par RR7008 dans sa question.
Modérateur
FraiseTagada99 a écrit :


Pas du tout, relis la spec : &quot;un attribut doit être précédé d'un espace&quot;. Ce n'est pas le cas dans l'exemple donné par RR7008 dans sa question.


Effectivement, tu as raison. Misère, misère ! ! Smiley smile

Amicalement,