zedark Posté 14 Avril 2009 Posté 14 Avril 2009 Bonjour, Sur une page déclarée en français (<html lang="fr">) j'ai un tableau dont la deuxième colonne contient un nom traduit en anglais. J'ai donc pensé à <colgroup>, et à placer l'attribut lang="en" dans la balise <col> correspondant à ma colonne. Est-ce la bonne manière ? Si oui je suppose que je n'ai pas besoin de déclarer lang="fr" pour les autres colonnes, elles auront la langue de la page. J'ai bon ? Merci,
Nullette Posté 14 Avril 2009 Posté 14 Avril 2009 Bonsoir, dans les balises meta j'ai simplement mis : <meta http-equiv="content-language" content="fr,en" /> et, dans la colonne où il y a un mot français sui explique le mot étranger, le mot étranger est entre les balises <span lang="en">english</span>. Je ne sais pas si c'est la bonne méthode, mais le W3C accepte.
Monique Posté 15 Avril 2009 Posté 15 Avril 2009 Bonjour, Tu as tout à fait raison, Nullette Ce que le W3C en dit : L'indication de la langue dans les contenus XHTML et HTML On peut utiliser l'attribut lang sur tous les éléments HTML sauf applet, base, basefont, br, frame, frameset, iframe, param et script. [...] S'il n'y a aucun balisage autour du texte de langue différente, utilisez un élément span afin d'en marquer les limites. Je nuancerai donc la réponse de Nullette. Si tous les mots contenus dans la balise col sont en anglais, il convient d'y ajouter l'attribut lang. Si ce n'est pas le cas, il faut utiliser la balise span pour chaque terme en anglais.
zedark Posté 15 Avril 2009 Auteur Posté 15 Avril 2009 Merci Nullette et Monique ! Suivant vos explications, j'ai codé la langue de ma colonne de 2 manière pour voir ce que ça donne : Méthode avec col : <!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" lang="fr" xml:lang="fr">[...]<meta http-equiv="Content-Language" content="fr" />[...]<table summary="Résultat de la recherche de cartes."><colgroup> <col /> <col lang="en" />[...] <tr> <td>Ceci est un texte en français<td> <td>This is an english text<td>[...] Résultat : Mon ptit firefox considère que la page est en français, et la 2è colonne du tableau comme du français également Méthode sans col : <!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" lang="fr" xml:lang="fr">[...]<meta http-equiv="Content-Language" content="fr" />[...]<table summary="Résultat de la recherche de cartes.">[...] <tr> <td>Ceci est un texte en français<td> <td lang="en">This is an english text<td>[...] Résultat : Mon ptit firefox considère que la page est en français, et la 2è colonne du tableau comme de l'anglais Conclusion : soit j'ai une erreur dans la méthode avec col (j'ai pourtant testé plusieurs variantes), soit on peut décidément pas faire grand chose avec colgroup, et c'est dommage. Encore merci, alex,
Monique Posté 15 Avril 2009 Posté 15 Avril 2009 J'avoue avoir très peu d'expérience avec des tableaux complexes.... A propos de l'élément colgroup, je lis (les exemples sont donnés pour HTML 4, donc à adapter pour XHTML bien-sûr) Quand il est nécessaire d'isoler une colonne (par exemple, pour une information de style, pour spécifier une information de largeur, etc.) au sein d'un groupe, les auteurs doivent identifier cette colonne avec un élément COL. Ainsi, pour appliquer une information de style particulière à la dernière colonne de la table précédente, on l'isole de cette manière : <COLGROUP width="20"> <COL span="39"> <COL id="mise-en-forme-particuliere"> </COLGROUP> L'attribut width de l'élément COLGROUP est hérité par la totalité des 40 colonnes. Le premier élément COL se rapporte aux 39 premières colonnes (sans rien de particulier pour elles) et le second assigne une valeur à l'attribut id pour la quarantième colonne, de sorte qu'une feuille de style puisse s'y appliquer. Dans ton exemple, je ne vois pas d'attribut span (pour le nombre de colonnes non concernées par la modification de langue).
zedark Posté 15 Avril 2009 Auteur Posté 15 Avril 2009 J'avoue avoir très peu d'expérience avec des tableaux complexes....Pareil pour moi. C'est la première fois que j'essaie de faire un joli tableau du point de vue xhtml en exploitant colgroup, et tout n'est pas clair. Il y a quelques semaines je me suis cassé les dents sur le stylage des colonnes (j'ai fini par utiliser des classes sur les <td>)... et ça recommence avec la langue Dans ton exemple, je ne vois pas d'attribut span (pour le nombre de colonnes non concernées par la modification de langue). Il me semble que le navigateur utilise les <col /> pour identifier les colonnes lorque <colgroup> en contient : « Les agents utilisateurs doivent ignorer cet attribut (span) si l'élément COLGROUP contient un ou plusieurs éléments COL. » C'est bizarre. j'ai regardé ce que firebug en disait : la colonne déclarée avec <col lang="en" /> est bien au bon endroit sur la page, l'inspecteur dom me dit qu'elle a "lang: en", mais quand je sélectionne du texte de cette colonne, les propriétés me disent que c'est du français. Tant pis, j'ai toujours l'autre méthode qui fonctionne.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant