5568 sujets

Sémantique web et HTML

Pages :
Bonsoir à tous,

En fouillant dans la source de l'excellent (et tout frais) blog de Dave Shea, je m'aperçois qu'il attribue au "body" un identifiant qui se présente plus comme une signature du contenu que d'une volonté de cibler l'élément puisqu'il n'apparait nulle part dans ses feuilles de styles. La balise en question se présente comme ceci:
<body id="mezzoblue-com" class="homePage">

Avez-vous une idée du rôle que jouerait cette information?

Deuxième petite chose, je vois aussi qu'il inscrit la balise ouvrante "html" dans sa plus simple expression, sans même y préciser la langue. Pour ma part, j'ai l'habitude d'écrire cette balise sous la forme suivante:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

Que penser de ces manquements?

Cordialement,
Benjamin
Modifié par Benjamin D.C. (22 Dec 2006 - 15:12)
Pour l'indication de langue, elle n'est pas obligatoire, mais utile pour certains outils (synthèses vocales, indexation par les moteurs de recherche). Je ne vois pas de raison particulière de ne pas la préciser, sauf à vouloir réduire l'accessibilité d'un site.

Pour l'identifiant dans body, soit c'est un moyen de « marquer » son code (dans quel but ? se prémunir contre le plagiat de maquette HTML/CSS ?), soit c'est pour l'utiliser dans les feuilles de style ou dans un script Javascript.
Pour ce genre d'ID dans le body, je me demande si ce n'est pas en relation avec un système de réseau social genre XFN ou FOAF.
Bonjour, il y'a la même chose sur alsacréations
<body id="alsacreations">


à mon avis c'est juste une signature.
C'est souvent utiliser pour les feuilles de style personalisés du profil du navigateur.

Si tu précises dedans :

#mezzoblue-com{
 background:#000;
}


Tu auras le fond de son site en noir.

C'est donc à la base un soucis d'accessibilité, comme pour augmenter la police via un font-size:1.2em. Mais il n'y a pas les font en em, ça risque de merder.
Modifié par Romuald (18 Dec 2006 - 11:21)
Romuald a écrit :
C'est souvent utiliser pour les feuilles de style personalisés du profil du navigateur.

Si tu précises dedans :

#mezzoblue-com{
 background:#000;
}


Tu auras le fond de son site en noir.

C'est donc à la base un soucis d'accessibilité, comme pour augmenter la police via un font-size:1.2em. Mais il n'y a pas les font en em, ça risque de merder.

Merci pour ces précisions!

Pour ce qui est de l'attribut xmlns, quelqu'un pourrait éclairer ma lanterne?

Merci d'avance,
Benjamin
xmlns n'apparait que pour du xhtml, cela signiefie la namespace utilisé pour la page, ici xhtml du w3c.

l'oublié est une erreur d'un point de vue strictement xml, c'est comme écouté parlait un étranger sans savoir en quel langue il parle. le seul moyen qu'il a pour te le dire c'est de te montrer le drapeau de son pays Smiley murf

bon en bref s'il est pas là c'est une erreur xhtml et donc ce n'est plus valid
bonjour ...

a écrit :

Pour ce qui est de l'attribut xmlns, quelqu'un pourrait éclairer ma lanterne?


En fait 'xmlns' est un attribut de la balise <html> comme 'lang' , et donc 'lang' n'est pas un attribut 'xmlns'.

De ce cas xmlns précise que les éléments dont l'élément racine est 'html' n'est pas pré-fixé et est l'espace de nom par défaut .

Concernant ce <html lang ="fr">, il fait partie des infos envoyer dans le header et peut servir à certains navigateurs, entre autres , pour adapter le rendu selon la langue utilisée , et ce au niveau des 'font'.

A noter aussi que le langage déclaré avec la balise <html> prevaut sur celui qui serait déclaré dans les "<meta>" ...

Il y a tout un tuto ( en anglais ) sur le w3c !

et notamment ce passage :
a écrit :

Choosing the right attribute

When serving HTML, rather than XHTML, you should use the lang attribute to declare the language of the document or a range of text. For example, the following declares a document to be in Canadian French:

<html lang="fr-CA">

When serving XHTML as text/html, you should use both the lang attribute and the xml:lang attribute. The xml:lang attribute is the standard way to identify language information in XML. The following example shows how you would mark up the previous example for XHTML 1.0 served as text/html.

<html lang="fr-CA" xml:lang="fr-CA" xml&#8205;ns="http://www.w3.org/1999/xhtml">

The xml:lang attribute is not actually useful for handling the file as HTML, but takes over from the lang attribute any time you treat the document as XML for, say, scripting or validation.

If you are serving XHTML 1.0 pages as XML (ie. using a MIME type such as application/xhtml+xml), or serving pages as XHTML 1.1, you do not need the lang attribute, since lang is part of the HTML language. The xml:lang attribute alone will suffice.

++

PS : un exemple de l'utilisation de l'Id sur le body comme 'switcher' de style ( c'est pas beau comme formule ) :body id="styleone"
Modifié par kzone (21 Dec 2006 - 12:14)
Salut,

C'est marrant, le validateur du W3C accepte l'absence de l'attribut xlmns, contrairement à Validome.

Si tu veux que ton document XML (XHTML en l'occurrence) soit réellement valide par rapport à la DTD, il ne faut à mon avis pas oublier cet attribut. Ceci dit, soyons francs, à partir du moment où ton document est servi en tant que text/html, ça ne change absolument rien.
kzone a écrit :
Concernant ce <html lang ="fr">, il fait partie des infos envoyer dans le header et peut servir à certains navigateurs, entre autres , pour adapter le rendu selon la langue utilisée , et ce au niveau des 'font'.
Comment ça, des infos envoyées dans le header ?
Salut à tous,

Pour l'id du body, une raison simple, cela permet à ceux qui veulent, de marquer les liens actifs. (voir mon site (ne pas le regarder sous IE pour l'instant) pour avoir un exemple)
a écrit :

Comment ça, des infos envoyées dans le header ?


le header (entete ) du document envoyé lors d'une requete client / serveur indiquant des infos tel 'date', 'User-Agent', ' Content-type' ...ect pour que le serveur puisse traiter cette requete et faisant partie du http protocole ...

ou je m'égare !?
Modifié par kzone (21 Dec 2006 - 15:48)
Benjamin D.C. a écrit :
Ben justement, si, ça passe... Smiley ohwell
Ca m'étonnerait que ça passe avec un vrai validateur XML.
Super_baloo8 a écrit :
Pour l'id du body, une raison simple, cela permet à ceux qui veulent, de marquer les liens actifs. (voir mon site (ne pas le regarder sous IE pour l'instant) pour avoir un exemple)
Je ne suis pas très fan de cette méthode. Pourquoi ne pas marquer le lien "actif" avec <strong> par exemple ? Ca a l'avantage d'être visible avec un navigateur qui ne prend pas en compte les CSS.
kzone a écrit :
le header (entete ) du document envoyé lors d'une requete client / serveur indiquant des infos tel 'date', 'User-Agent', ' Content-type' ...ect pour que le serveur puisse traiter cette requete et faisant partie du http protocole ...
Pour être franc, j'ai l'impression que tu n'as pas les idées très claires là-dessus. Il existe en effet un en-tête HTTP Content-Language, mais il n'est pas envoyé avec l'attribut lang ou xml:lang comme tu l'as dit :
kzone a écrit :
Concernant ce <html lang ="fr">, il fait partie des infos envoyer dans le header
a écrit :

Pour être franc, j'ai l'impression que tu n'as pas les idées très claires là-dessus. Il existe en effet un en-tête HTTP Content-Language, mais il n'est pas envoyé avec l'attribut lang ou xml:lang comme tu l'as dit :


franchement je me suis le doute aussi sur le fait que l'attributs 'lang' soit utilisé
dans l'entete et j'ai (peut -etre) sans doute confondu avec 'Accept-language' et 'Accept-charset' fournissant des infos sur les langues et formats acceptés par le navigateur ...

Mea culpa ( meme si on ne s'excuse pas soi-meme Smiley confus ) d'avoir donné une info avant de la vérifier Smiley scotch
Modifié par kzone (21 Dec 2006 - 18:45)
kzone a écrit :
Mea culpa ( meme si on ne s'excuse pas soi-meme Smiley confus ) d'avoir donné une info avant de la vérifier Smiley scotch
Dès la première minute de vendredi prochain, tu seras fouetté jusqu'au sang.
Eldebaran a écrit :
Je ne suis pas très fan de cette méthode. Pourquoi ne pas marquer le lien "actif" avec <strong> par exemple ? Ca a l'avantage d'être visible avec un navigateur qui ne prend pas en compte les CSS.


Ce qu'il est possible de faire, c'est de cumuler les deux.
Pages :