5568 sujets

Sémantique web et HTML

Bonjour,
Juste une question qui me turlupine :
Je viens de faire un site pour ( un pote qui a un hôtel au Maroc. Le problème est que, vu que j'utilise des javascripts pour cacher les adresses mails et éviter ainsi le spam, j'utilise aussi des balises noscript dans un soucis d'accessibilité. Or, si Tidy sous firefox ne me trouve aucune erreur, le validateur du W3C m'en trouve 10 (une pour chaque balise noscript) sur cette page.
Bref, je ne comprends pas pourquoi il accepterait script et pas noscript, pourquoi la différence entre les deux validateurs et je me demande surtout si je n'ai pas fait d'erreur.
Pour info, les pages sont en xhtml 1.1 et codées en UTF-8.
Quelqu'un aurait-il une idée ?
Merci d'avance pour vos réponses.
Ciao
P'tit Ben
Bonjour P'tit Ben,

Tes apostrophes, par exemple dans : "L |’| Avenir" ; code 146, ne sont pas conformes en UTF-8.
Pourquoi ?
papillon41 a écrit :
Bonjour P'tit Ben,

Tes apostrophes, par exemple dans : "L |’| Avenir" ; code 146, ne sont pas conformes en UTF-8.
Pourquoi ?


Pas conforme ? J'ai dû prendre le guillemet fermant simple pour mon raccourcis clavier je pense. C'est quoi le code de l'apostrophe, s'il en existe une autre que le bête baton suspendu ?

Merci pour ta réponse, mais par contre, ça ne répond pas tellement à ma question.
Bonjour,
Tu n'ignores sans doute pas ce que les habitués d'alsacreations pensent des sites en XHTML 1.1 ?
Je n'ai plus l'URL du billet sous la main, mais je pense qu'XHTML 1.1 t'est intuile et que tu devrais te contenter du XHTML 1.0.

Cela dit, ça ne règlera pas ton problème de noscript.
A mon avis, c'est un problème de type de balise ligne ou bloc. Sauf erreur, noscript est de type bloc mais je n'en mettrais pas ma main à couper.
QuentinC a écrit :
Bonjour,
Tu n'ignores sans doute pas ce que les habitués d'alsacreations pensent des sites en XHTML 1.1 ?
Je n'ai plus l'URL du billet sous la main, mais je pense qu'XHTML 1.1 t'est intuile et que tu devrais te contenter du XHTML 1.0.


Dommage pour l'URL, j'aurai bien voulu savoir pourquoi. De toutes manières, si ce site est valid en xhtml 1.1, il le sera automatiquement en 1.0. Donc, si ça passe... Par contre, le problème est identique même en xhtml 1.0 transitionale, alors...

a écrit :
Cela dit, ça ne règlera pas ton problème de noscript.
A mon avis, c'est un problème de type de balise ligne ou bloc. Sauf erreur, noscript est de type bloc mais je n'en mettrais pas ma main à couper.


Merci pour ta réponse, j'ai tester, mais non, toujours la même erreur.
Je ne sais pas pourquoi, mais tu n'as pas l'apostrophe classique " ' " ; tu as celle ci : " ’ ". Qui ne plaît pas à UTF-8 !
Bonsoir,

- XHTML1.1 ne peut pas être adressé au navigateur en tant que text/html. Son type de contenu conforme est application/xhtml+xml, avec lequel ta page aurait planté le parseur des navigateurs conformes sur la première erreur de <noscript>. [ edit ]Ah, en fait, non : il aurait planté d'abord sur le <?xml version="1.1" incorrect lui aussi.[ /edit ] Par ailleurs, une page qui serait effectivement du XHTML1.1 ne respecterait pas les règles de compatibilités HTML du XHTML1.0 : XHTML1.1 n'est pas du tout équivalent à XHTML1.0...

- <noscript> n'est pas un élément de type en ligne, contrairement à <script>, mais un élément de type bloc. Il ne peut pas être placé dans un paragraphe. A noter: la validation W3C XHTML1.0 t'aurait immédiatement renseigné, là où la validation W3C XHTML1.1 n'apporte aucune information utile.

- les scripts d'encodage des adresses mails sont très jolis, mais totalement inefficaces compte-tenu du <noscript> parfaitement déchiffrable par les robots.

- ton document est un savoureux mélange d'utf-8 et de windows-1252 (caractères 153 et 128 inexistants en Unicode et donc invalides en (X)HTML). Voir http://openweb.eu.org/articles/caracteres_illegaux/
Modifié par Laurent Denis (28 Jan 2006 - 20:09)
Un peu vite, d'ailleurs, car j'ai oublié de préciser une autre correction à apporter: Smiley cligne
- en XHTML1.0 strict (et en XHTML1.1), le contenu de la balise <noscript>, de son côté, ne peut pas être du texte anonyme. <noscript> ne peut contenir que des éléments de niveau bloc (<p>, <div>, etc).
- en XHTML1.0 transitional, en revanche, pas de problème.
Modifié par Laurent Denis (28 Jan 2006 - 21:05)
Bonsoir,

Laurent Denis :
a écrit :
- en XHTML1.0 strict (et en XHTML1.1), le contenu de la balise <noscript>, de son côté, ne peut pas être du texte anonyme. <noscript> ne peut contenir que des éléments de niveau bloc (<p>, <div>, etc).


C'est exactement la réponse que j'attendais, grand merci ! Par contre, c'est une balise un peu bâtarde, puisqu'elle est, à ma connaissance, la seule balise de type bloc qui demande automatiquement une autre balise bloc, mais peut-être me trompè-je.

a écrit :
- en XHTML1.0 transitional, en revanche, pas de problème.


Là par contre, j'avais testé mais ça n'avait pas marché. Peut-être une erreur de ma part. Pas grave.

a écrit :
- les scripts d'encodage des adresses mails sont très jolis, mais totalement inefficaces compte-tenu du <noscript> parfaitement déchiffrable par les robots.


D'un certain côté, je m'en doutais un peu. Mais comment faire ? Car si, d'un point de vue accessibilité, il faut se faire spammer à tout bout de champs, alors je préfère virer les balises noscript, surtout pour un site où je n'escompte guère plus de 10 visites par mois.

a écrit :
- ton document est un savoureux mélange d'utf-8 et de windows-1252 (caractères 153 et 128 inexistants en Unicode et donc invalides en (X)HTML). Voir http://openweb.eu.org/articles/caracteres_illegaux/


Là, par contre, je ne comprends plus rien. J'utilise notepad2 pour écrire ces pages, et ce logiciel m'informe que les caractères euro, "fausse apostrophe" (8217) et autres font entre 2 et 3 octets.* Or, si je pense bien, si c'est du 1252, alors mon caractère ne devrait pas dépasser 1 octet, et si c'est du codage invalide ou une entité quelconque, elles devraient faire 6 octets au minimum. En plus, après avoir essayer sous linux (kaella - knoppix live cd), je vois que c'est impeccablement interprété contrairement à ce qui est dit sur la page précitée d'openweb !** Donc, et par rapport à ce qu'en disait papillon41 :

a écrit :
Je ne sais pas pourquoi, mais tu n'as pas l'apostrophe classique " ' " ; tu as celle ci : " &#8217; ". Qui ne plaît pas à UTF-8 !


Si les caractères que j'utilisent ne sont pas de l'UTF-8, grâce à quel logiciel ou validateur puis-je m'en rendre compte (en ligne ou pour w98 only svp) ?
Comment voir que cela ne plaît pas à UTF-8 ?

Par contre, je voulais utiliser UTF-8 pour avoir un langage universel et éviter tous les
&#;
, surtout que je dois intégrer la traduction en arabe un de ces 4. Alors, si des caractères tels que oe ligature n'y sont même pas, alors je ne vois même plus l'intérêt de ce codage (qui est tout de même censé pouvoir comporter la plus grande partie des alphabets et autres graphies linguistiques de l'humanité). Y a de quoi se flinguer...

Merci à tous pour vos réponses passées et futures.
Ciao et bonne nuit
P'tit Ben

*J'ai déjà eu du mal à trouver où se situait l'euro (128), mais alors, le TM (153), je sais absolument pas où il peut être...
** Interprêter par Konqueror et Firefox, à part une erreur de restitution du titre de la part de Firefox, mais aucun problèmes au niveau body. Par contre un problème d'image d'arrière plan (rien à voir) avec Konqueror et donc certainement Safari, mais je vais m'ateler à sa correction dès que mon alcoolémie me le permettra.
P'tit Ben a écrit :

D'un certain côté, je m'en doutais un peu. Mais comment faire ? Car si, d'un point de vue accessibilité, il faut se faire spammer à tout bout de champs, alors je préfère virer les balises noscript, surtout pour un site où je n'escompte guère plus de 10 visites par mois.


Géré le spam côté serveur et client mail. Pas côté site.

P'tit Ben a écrit :

Là, par contre, je ne comprends plus rien. J'utilise notepad2 pour écrire ces pages, et ce logiciel m'informe que les caractères euro, "fausse apostrophe" (8217) et autres font entre 2 et 3 octets.* Or, si je pense bien, si c'est du 1252, alors mon caractère ne devrait pas dépasser 1 octet, et si c'est du codage invalide ou une entité quelconque, elles devraient faire 6 octets au minimum. En plus, après avoir essayer sous linux (kaella - knoppix live cd), je vois que c'est impeccablement interprété contrairement à ce qui est dit sur la page précitée d'openweb !


Il n'y a effectivement pas d'erreur d'encodage dans ta page. L'erreur était du côté de Tidy, qui m'a fait quelque-chose de très curieux sur ce coup-là. Toutes mes excuses.
P'tit Ben a écrit :

[quote=Laurent Denis]
- en XHTML1.0 strict (et en XHTML1.1), le contenu de la balise <noscript>, de son côté, ne peut pas être du texte anonyme. <noscript> ne peut contenir que
des éléments de niveau bloc (<p>, <div>, etc).


C'est exactement la réponse que j'attendais, grand merci ! Par contre, c'est une balise un peu bâtarde, puisqu'elle est, à ma connaissance, la seule balise
de type bloc qui demande automatiquement une autre balise bloc, mais peut-être me trompè-je.


Non, il y a aussi form et body par exemple.

EDIT : J'ai fait bugger le forum, je suis sincèrement désolé...
Modifié par QuentinC (29 Jan 2006 - 06:43)
Pour être précis, ce n'est le cas qu'en XHTML1.0 strict (pas en transitional/frameset), pour :
- blockquote
- form
- noscript
- body

Cette règle a pour but d'inciter à rendre le contenu de ces éléments plus significatif, en évitant les contenus anonymes autorisés en transitional.
Laurent Denis a écrit :


Géré le spam côté serveur et client mail. Pas côté site.


OK. J'abandonne les noscript et je rajoute un formulaire d'envoi de mails, tout en gardant les scripts car je trouve utile de pouvoir avoir accès aux adresses mails. Par contre, pour le côté client mail, je préfère m'attaquer à la racine du problème : faire en sorte qu'aucun spameur ne puisse avoir ces adresses. Mais là, je rêve un peu...

a écrit :
Il n'y a effectivement pas d'erreur d'encodage dans ta page. L'erreur était du côté de Tidy, qui m'a fait quelque-chose de très curieux sur ce coup-là. Toutes mes excuses.


Ouuuuuuuuuuf ! M'avait fait peur.

Merci à tous pour vos réponses. Je profite qu'il n'y ait plus de problèmes pour aller me recoucher.
P'tit Ben