Je suppose que votre question a à voir avec le rouge slash sur l'auto-éléments de fermeture lorsque vous afficher la source dans Firefox. Si oui, vous avez trébuché dans l'un des plus véhéments, mais en même temps le comportement passif-agressif débats dans le navigateur maker vs développeur web guerres. XHTML n'est PAS seulement un document de balisage. C'est aussi sur la façon dont les documents sont destinés à être diffusé sur le web.
Avant que je ne commence; je suis en train dur de ne pas prendre parti ici.
Le XHTML 1.1 spécification dit qu'un serveur web devrait servir XHTML avec un Type de Contenu application/xhtml+xml. Firefox est de distinguer ces barres obliques comme invalide parce que votre document est en train d'être servi en tant que texte/html plutôt que application/xhtml+xml. Prendre que ces deux exemples; identique de balisage, on a servi en tant que application/xhtml+xml, l'autre en tant que text/html.
http://alanstorm.com/testbed/xhtml-as-html.php
http://alanstorm.com/testbed/xhtml-as-xhtml.php
Firefox drapeaux le slash dans la balise meta comme non valide pour le document a servi avec le texte/html, et est valable pour le document a servi avec l'application/xhtml+xml.
Pourquoi cela est Controversé
Pour un navigateur développeur, le point de XHTML est que vous pouvez traiter votre document au format XML, ce qui signifie que si quelqu'un vous envoie quelque chose qui n'est pas valide, la spec dit que vous n'avez pas à l'analyser. Donc, si un document est signifié en application/xhtml+xml et non un contenu bien formé, le développeur a le droit de le dire "n'est pas mon problème". Vous pouvez voir en action ici
http://alanstorm.com/testbed/xhtml-not-valid.php
Lorsqu'un document est signifié en tant que text/html, Firefox traite comme un simple vieux document HTML et utilise le pardonneur, le corriger pour vous, des routines d'analyse
http://alanstorm.com/testbed/xhtml-not-valid-as-html.php
Donc, à un navigateur maker, XHTML servi en tant que text/html est ridicule, car il n'est jamais traitée comme XML par le navigateur du moteur de rendu.
Un tas d'années, les développeurs web à la recherche de plus de balise singes (Disclaimer: je le fais moi-même en tant que l'un d'entre eux) ont commencé à chercher des moyens de développer les meilleures pratiques qui n'ont pas participé trois fois tables imbriquées, mais encore permis à un design convaincant de l'expérience. Ils/Nous verrouillé sur le XHTML/CSS, parce que le W3C a dit que c'était l'avenir, et le seul autre choix est un monde où un seul vendeur (Microsoft) contrôlés defacto balisage spec. Le mal réel qu'il soit le seul fournisseur, et pas tellement de Microsoft. Je le jure.
Alors où est la polémique? Il y a deux problèmes avec l'application/xhtml+xml. La première est Internet Explorer. Il y a un héritage bug/feature dans IE où le contenu a servi en tant que application/xhtml+xml invite l'utilisateur à télécharger le document. Si vous avez essayé de visiter le xhtml-as-xhtml.php ci-dessus avec IE c'est probablement ce qui s'est passé. Cela signifie que si vous voulez utiliser l'application/xhtml+xml, vous devez navigateur sniff pour IE, vérifier l'Accepte d'en-tête et qui ne servent application/xhtml+xml pour les navigateurs qui l'acceptent. Ce n'est pas aussi anodin qu'il y paraît pour obtenir le droit, et s'est également rendue à l'encontre de la "écrire une fois" principe que les développeurs web sont battus pour.
Le deuxième problème est la dureté de XML. C'est, encore une fois, l'un de ceux de la flamme sujettes à des problèmes, mais il y a certaines personnes qui pensent qu'un simple mauvais tag, ou à caractère unique mal codés ne devrait pas permettre à un utilisateur de ne pas voir le document qu'ils veulent. En d'autres termes, oui, la spec dit que vous devriez arrêter de traitement XML si ce n'est pas bien formé, mais l'utilisateur ne se soucie pas de la spec, ils se soucient que de leur chat site est cassé.
En ajoutant encore plus de l'essence de la question est le XHTML 1.0 (1.1) spécification dit que les documents XHTML peut être servi en tant que text/html, en supposant que certaines compatibilité des directives sont suivies. Des choses comme la balise img être à fermeture automatique et la comme. Le mot clé ici est peut. Dans la RFC parler, peut signifie en option. Firefox a choisi de ne PAS traiter les documents servi avec un doctype XHTML, mais un type de contenu text/html au XHTML. Cependant, le validateur du W3C sera heureux de signaler ces documents comme valide.
Je vais laisser le lecteur à réfléchir à la simultanée merveille/horreur d'une culture qui écrit un document de définir ce qu'ils entendent par le mot peut.
Aller De L'Avant
Enfin, c'est ce que tout le HTML 5 chose est sur. XHTML est devenue une telle politique de la patate chaude qu'un tas de gens qui voulaient aller de la langue vers l'avant a décidé d'aller dans une autre direction. Ils ont produit une spécification HTML 5. C'est actuellement haché dans le W3C, et devraient se terminer dans le courant de la prochaine décennie. Dans l'intervalle, les vendeurs de navigateur sont la cueillette et le choix des caractéristiques de l'en-cours spec et leur mise en œuvre.
Les mises à jour à partir des Commentaires
Dans les commentaires, Alex points que si vous allez à renifler pour quelque chose, vous devez vérifier l'en-tête Accept pour voir si l'application/xhtml+xml est accepté par l'agent utilisateur.
Ce qui est absolument correcte. En général, si vous allez sniff, sniff, pas pour le navigateur.