5568 sujets

Sémantique web et HTML

Bonjour,

Je me demande s'il est bien utile de garder la balise HTML qui débute ma page ainsi :
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

et non simplement
<html>


Ca me parait compliquer les choses sachant que le doctype que j'utilise mentionne déjà le language xml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 


Je précise qu'il s'agit d'un site multilingue, enfin chaque version à ses propres pages donc je peux adapter pour chacune.. s'il est conseillé d'indiquer la langue du contenu pour améliorer le référencement et les consultations des surfeurs.
Modifié par Jen (18 Jul 2007 - 11:55)
Bonjour,

Mentionner la langue ne sert pas uniquement aux moteurs de recherche, mais aussi aux synthèses vocales (as-tu déjà entendu du français comme si c'était de l'anglais Smiley biggol ?)

Quant à xml:lang, cela ne sert pas à indiquer que ton document est en XML. lang est présent pour des raisons de compatibilité avec les vieux navigateurs, tandis que xml:lang joue exactement le même rôle, mais dans le cadre de la recommandation XML 1.0. Il y a comme une redondance, mais cette redondance est nécessaire.
Et pour ce qui est du namespace (xmlns), il est tout aussi super-important, c'est lui et lui seul qui renseigne sur le langage. Le doctype n'est là que pour la validation.

Théoriquement, sans xmlns, un navigateur ne saurait pas que les balises que tu utilises sont des balises du langage xhtml. Ca ne serait qu'un langage xml inconnu. Maintenant en pratique, comme d'hab....
Ok j'ai compris xml c'est pour la synthese vocale, et rien à voir avec comment j'ai defini les propriétés de mes pages?!

Pour ce qui est de la pratique, j'ai différentes langues selon les pages.. Francais, Anglais, Espagnol, Neerlandais:

>> les pages en Francais:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
et <meta http-equiv="Content-Language" content="fr-fr" />


>> les pages en Anglais:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

et <meta http-equiv="Content-Language" content="en-gb" />


>> les pages en Espagnol:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">

et <meta http-equiv="Content-Language" content="es-es" />


>> les pages en Neerlandais:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl" lang="nl">

et <meta http-equiv="Content-Language" content="nl-nl" />


Corrigez si j'ai gaffé Smiley lol

Smiley rolleyes une dernière question à ce sujet: ma page d'accueil, très brève est uniquement en anglais mais comporte les liens vers les différentes versions/langues du site, serait-il correcte d'adopter ce codage:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

et dans les balises head: 
<meta http-equiv="Content-Language" content="en,fr,es,nl" />



Modifié par Jen (17 Jul 2007 - 14:55)
Non, car si la page est en anglais le content language et les attributs lang et xml:lang ne renseigneront que l'anglais. Ils ne sont pas censés renseigner la langue des pages liées Smiley smile

Par contre tu peux utiliser un hreflang sur les liens :
<a href="fr.html" hreflang="fr-fr">Version française du site</a>
Tu peux aussi, mais sans garantie de support par les navigateurs, utiliser l'élément link dans l'entête de ton fichier XHTML. Par exemple,

Basic test: <link rel="alternate" lang="en" xml:lang="en" title="en, Home page in english" type="text/html" hreflang="en" href="http://www.monsite.org/en/" />