Dotclear

Ticket #1936 (closed defect: fixed)

Opened 11 years ago

Last modified 10 years ago

Regression in XHTML validator

Reported by: bruno-666 Owned by: franck
Priority: normal Milestone: 2.8
Component: module:admin Version: 2.6.1
Severity: normal Keywords:
Cc:

Description

Le validateur XHTML ne fonctionne plus depuis la version 2.6.

Sur un billet vide : erreur <p><br></p> car la balise br n'est pas fermée Sur un billet comportant une image : erreur car la balise image n'est pas fermée.

Cette erreur vient du fait que dans le fichier _post.js c'est le contenu de l'iframe qui est envoyée au validateur. Or ce contenu est généré en Javascript par manipulation du DOM (et donc des balises <br>, <hr>, <img> etc. Ce contenu ne sera donc jamais valide en XHTML.

Solutions possibles :

  • Le bouton de validation déclenche l'enregistrement du billet en cours et c'est le contenu du textarea qui est envoyé au validateur.
  • Le contenu de l'iframe est manipulé en js pour rajouter les / sur les balises autofermantes (lourd) juste avant l'envoi au validateur.
  • Dotclear passe en HTML 5 ;-)

Change History

comment:1 Changed 11 years ago by franck

  • Owner changed from team to franck
  • Milestone changed from A definir to 2.7

On va plutôt remplacer cette validation par un lien vers les validateurs du W3C (par exemple), et pourquoi pas lancer la validation directement (API ou autre ?)

comment:2 Changed 11 years ago by franck

Voir  http://validator.w3.org/#validate_by_input (validation par fragment)

comment:3 Changed 11 years ago by franck

  • Milestone changed from 2.7 to 2.7.1

Finalement je renvoie à plus tard, n'ayant pas de solution élégante pour l'éditeur historique.

Remplacer le bouton par un lien prive l'utilisateur d'une fonction qui tourne correctement avec le mode wiki ou markdown (par exemple). Dommage de s'en priver, même si de plus en plus on basculera vers le HTML5.

comment:4 Changed 11 years ago by franck

  • Milestone changed from 2.7.1 to 2.8

comment:5 Changed 10 years ago by franck

Dotclear est passé en HTML5 (côté admin et public), mais ça ne règle pas le problème, qui d'ailleurs n'en est peut-être pas un puisqu'il faudrait finalement proposer un validateur HTML5 plutôt que XHTML.

comment:6 Changed 10 years ago by franck

Et après revue du code en question, le service de validation de www.htmlhelp.com ne gère pas du tout le HTML5.

Reste à trouver un remplaçant et permettre le choix côté Clearbricks (html.validator/class.html.validator.php), ou virer la fonction.

comment:7 Changed 10 years ago by franck

Et il y a peut-être moyen d'utiliser l'API du validateur du W3C (voir  https://validator.w3.org/docs/api.html).

comment:8 Changed 10 years ago by franck

Maintenant j'hésite à remplacer directement le code actuel ou proposer une alternative dans Clearbricks. À discuter à la prochaine réunion IRC…

comment:9 Changed 10 years ago by franck <carnet.franck.paul@…>

  • Status changed from new to closed
  • Resolution set to fixed

(In [37646518675d]) Remove XHTML Markup validator from dcLegacyEditor, dirty way to fix #1936

Note: See TracTickets for help on using tickets.

Sites map