Firefox supportera Document.all
Par Laurentj le samedi, juillet 24 2004, 09:31 - Technologies Web - Lien permanent
Dur dur de se lever un samedi matin, alors qu'il fait beau, et de prendre en pleine tronche cette nouvelle déconcertante : les prochaines versions de Mozilla et Firefox supporteront cette ignominie de document.all, afin d'être compatible avec les sites optimisé pour IE.
Alors que depuis le début, mozilla.org soutient et respecte les standards au sein de son navigateur, voilà qu'il se met à copier les bêtise de IE (enfin bon, c'est vrai que Gecko copie depuis un certain temps déjà les bugs de IE quand il est en mode "quirks" mais là, c'est le ponpon). Un pas en arrière. Un jour noir pour les standards.
On peut se consoler par le fait qu'un if(document.all) continuera à renvoyer false dans Gecko, et qu'un warning sera généré dans la console javascript. Mais j'aurais preféré un non support de document.all et l'affichage d'une popup ou d'une icône indiquant à l'utilisateur que le site est mal foutu et qu'il risque de mal s'afficher. Cela aurait été plus pédagogique pour les webmestres en herbe. M'enfin bon, les utilisateurs réticents qui se plaignent que certains sites ne passent pas avec Firefox, pourront maintenant migrer vers Firefox.
Pourquoi est-ce une bêtise d'inclure ça dans Gecko ?
- parce que maintenant les developpeurs qui développent avec leur pied ne verront plus que leur site est développé avec les pieds. Ils ne prendront donc pas la peine de regarder du coté des standards. Ainsi donc, ils ne vont pas apprendre le DOM correctement, et si ils sont confronté à l'utilisation du DOM dans un autre langage, ils risquent d'avoir une désagréable surprise... (Le DOM est un standard, je le rappelle).
- D'un point de vue logique, pouvoir utiliser
document.allalors qu'un testif(document.all)ne passe pas, c'est contradictoire et peux en perturber plus d'un (même si cela est nécessaire de faire comme cela pour gecko, pour que les tests de navigateurs continuent à réagir comme ils ont été prévu). Je vois déjà certains webmestres prendre ceif(document.all)comme un bug dans Firefox... - que veut dire exactement
document.all? Je trouve que même la définition de cette propriété dans MSDN est floue. Du coup, c'est certain, ledocument.allde Mozilla ne peut être un véritable clone dudocument.allde IE, et certains scripts optimisé pour IE risquent de ne pas fonctionner correctement (ils seront tout de même une minorité). - cela ne va pas résoudre toutes les incompatibilités qui existent encore avec IE.
Non franchement c'est nul. D'autant plus qu'apparement, cette fonctionnalité n'est pas limité au mode "quirks" et fonctionnerait donc aussi dans les pages conformes aux standards (à vérifier). Si c'est vrai, c'est vraiment, vraiment n'importe quoi.
Mise à jour : je viens de télécharger la dernière version de test de Firefox, et de tester une page web utilisant le document.all. Je confirme : c'est vraiment, vraiment n'importe quoi. En fait, c'est pire que ce que je croyais. En effet, donc, le document.all de mozilla fonctionne aussi bien en mode standard qu'en mode quirks. Mais le pire, c'est que l'implementation du document.all de mozilla ne fait même pas un minimum pour ressembler à celui de IE ! La collection all ne contient que les élements qui ont un id. Alors que celle de IE contient (au moins) les élements qui ont un id, et les élements de formulaires qui ont un attribut name . Or l'usage du document.all se fait trés souvent en rapport avec les éléments de formulaire !!!. Conclusion : beaucoup de sites vont continuer à bogguer dans Mozilla :-/ Il faut vraiment qu'ils corrigent ça !
Mise à jour 2 : pour l'histoire du support des élements de formulaire avec l'attribut name, ils en ont discuté sur le bug correspondant à document.all sur bugzilla. En fait, aprés avoir fait quelques statistiques d'usage, il en est ressorti que seulement 20% des sites utilisait document.all sur des éléments de formulaire avec l'attribut name. Et donc, que ce n'était pas assez significatif pour inclure ces éléments dans document.all. N'importe nawak.
Commentaires
Raaahhh l'horreur!
Oh... on dirait que IE a encore deteint au dernier lavage...
Désolée...
Oui, c'est un mauvais jour pour tous ceux qui croient en gecko (sur l'aspect, respect des standards). La discussion sur geckozone: http://www.geckozone.org/forum/viewtopic.php?t=7085
C'est un bug l'indentation des commentaires dans des blockquotes ?
hihi, c'est ça de pas avoir voulu utiliser wiki2xhtml ;-)
--> []
Olivier, au risque de t'étonner, c'est wiki2xhtml ;-) Je corrige les bugs html...
(vi vi je sais, faudrait que je passe à une version plus récente de Dotclear...)
BEARK ! Je crois que c'est à peu près tout ce que cela m'inspire. Encore qu'en mode quirks ok... ça peut passer mais avoir ce "truc" (pour ne pas dire cette orreur) en mode "Standards compliance mode" BEARK !
mouai c'est pas la joie ... j'aurais preferé qu'ils supportent le SVG "out of the box" avant ça ... mais bon on n'est quand meme pas obligé de l'utiliser hein. :)
Et je crois que le passage aux standard commence a faire son chemin dans la tete des gens ... ne pas le faire j'ai l'impression que c'est un peu devenu la honte ... :)
Bon ben il reste plus qu'a faire un fork :)
Je suis choqué. Qu'on le veuille ou non, IE est un standard de fait sur le web.
Pourquoi un navigateur ne devrait-il supporter qu'un seul standard ? Devrait-on aussi enlever de Mozilla le support des versions de HTML antérieures au XHTML strict ?
Inclure document.all dans Mozilla en fait un meilleur logiciel, un logiciel qui répond à plus de besoins de ses utilisateurs (càd visiter des sites mal conçus).
On va enfin pouvoir se moquer de Mozilla autant que Konquie \o/
Bonjour,
Je suis 100% d'accord avec Aurélien. Si FF veut développer sa diffusion, il doit ne pas décourager certains qui se retrouvent devant l'impossibilité d'utiliser certains sites - même très officiels - qui ne respectent pas les fameux standards. Ne soyez pas trop puristes, cela fait du tort à la cause que vous voulez défendre. Le développement de la sécurité me semble beaucoup plus important que le respect obsédant des standards qui, pour certains, frôle le puritanisme.
Ce n'est pas une question d'être puriste, c'est simplement que ça ne résoud rien. En général, si document.all est utilisé directement, sans tester sa présence, d'autres saloperies made in Microsoft sont utilisées derrière.
Peu importe la technique (appel aux personnes compétentes pour exercer leurs talents), je suis sûr que FF peut et doit trouver un moyen de dépasser ce problème des sites non compatibles. Je le répète, si FF veut accroître sa diffusion, il doit dépasser cette difficulté. On a même créé une extension pour contourner le problème (ieview). Alors autant le résoudre en interne plutôt que capituler en rase campagne et devoir faire appel à IE dans certaines circonstances. FF doit être le plus universel possible. Hors de l'universalité, point de salut.
ajouter le support du document.all ne sert à rien si il n'est pas implementer comme le vrai document.all.
Ensuite, si on supporte le document.all, cela ne va pas forcer les developpeurs à faire des efforts pour respecter les standards, pour avoir des sites qui fonctionnent partout.
C'est peut-être un mal necessaire pour la diffusion de firefox, mais c'est tout de même un mal.
Laurent: c'est sur le bug qu'il faut argumenter... Par contre, faut le faire sans spammer... Moi je me suis retenu pendant des semaines de le faire, mais bon la j'en pouvait plus, je me suislaché :)
http://firefox.fr Firefox 0.9.3 en francais
Firefox Buttons: http://www.firefox.fr/boutons.htm