Maison  >  Article  >  interface Web  >  La différence entre HTML5 et XHTML2

La différence entre HTML5 et XHTML2

PHPz
PHPzoriginal
2016-05-16 15:51:401648parcourir


La plupart des gens utilisent HTML 4 et XHTML 1 pour rédiger des pages Web. Relativement peu de passionnés de HTML comprennent les concepts du HTML sémantique, de la validation de la structure HTML et de l'amélioration de l'accessibilité des documents. Les documents HTML de haute qualité sont le résultat de compromis répétés, d'optimisations de conception et de discussions. Malgré toutes les critiques, aucun langage n’a jamais égalé la popularité du HTML. La plupart des utilisateurs se contentent du statu quo des normes, comme s’ils étaient nés ainsi.
Mais comme beaucoup d’autres standards, HTML a des successeurs. Même maintenant, les experts réfléchissent toujours à la prochaine version de HTML, résolvant tous les problèmes connus de la version actuelle. Comme tout le monde, ces experts ne sont pas d’accord sur l’orientation future de ces travaux.
La première proposition de nouvelle version HTML est venue d'un groupe de travail au sein de l'organisation W3C. Les idées du groupe de travail tournent autour de XHTML 2, une norme qui poursuit l'orientation de développement originale consistant à purifier davantage le XHTML et à revenir aux concepts de conception de la première version de HTML.
Certains experts HTML importants en dehors du W3C — fournisseurs de navigateurs, développeurs Web, auteurs et autres — ne sont pas d'accord avec l'orientation de XHTML 2. En 2004, ils ont formé un groupe de travail indépendant pour proposer une nouvelle direction de conception pour la nouvelle version HTML. Sous le nom de WHATWG (Web Hypertext Application Technology Working Group), ils ont lancé HTML 5 et Web Forms 2.
Quelques années plus tard, une direction alternative pour le HTML a été clairement décrite dans un projet de travail. En avril 2007, le W3C a voté sur l'admission ou non de HTML 5 au processus de révision des normes, sans (encore) le reconnaître comme norme officielle. La plupart des gens sont d’accord. Une situation intéressante se présente : le W3C travaille simultanément sur deux technologies concurrentes qui succéderont au HTML et au XHTML. En théorie, il y a de bonnes raisons pour les deux. En pratique, il y a de nombreux obstacles à surmonter pour que tous les principaux navigateurs prennent en charge les deux normes.
C'est le fait fondamental qui a conduit à la situation actuelle. Il serait plus significatif de discuter des différences réelles entre les deux propositions. Cet article décrit les bases des deux propositions, puis analyse les concepts de conception qui les sous-tendent. Abréviations fréquemment utilisées
CSS : Feuilles de style en cascade
HTML : Hypertext Markup Language
W3C : World Wide Web Consortium
XHTML : Extensible Hypertext Markup Language Un bref historique de XHTML
Comprendre la philosophie de conception derrière XHTML 2 nécessite un peu d'histoire. Au début des années 1990, les premières versions du HTML étaient basées sur le langage SGML (Standard Generalized Markup Language). La principale différence réside dans la propriété du lien hypertexte - un fondement clé et un facteur de succès du World Wide Web. Comme SGML, HTML permet aux auteurs de décrire la structure d'un document, en séparant les en-têtes des paragraphes, les listes ordonnées et les listes non ordonnées. Les résultats affichés à l'écran dépendent du navigateur.
À mesure que le Web devient de plus en plus populaire, les utilisateurs HTML exigent un contrôle sur l'apparence de leurs pages. Les fournisseurs de navigateurs ont introduit de nouvelles fonctionnalités dans HTML 2 et 3. Les pages Web deviennent difficiles à comprendre et les structures complexes de tableaux imbriqués deviennent le principal moyen de contrôler la mise en page. Le reste du document est rempli de balises de police et de déclarations de couleurs. La structure originale du document est devenue difficile à trier.
HTML 4 est apparu pour mettre fin à cette confusion, en poussant la logique de présentation vers CSS et en introduisant des couches (DIV) pour un positionnement avancé du contenu. Cela signifie un changement dans le modèle d'écriture de code par rapport à HTML 3. Pour simplifier le processus de migration, les anciennes structures HTML 3 sont prises en charge via la version transitionnelle de HTML 4. La version stricte destinée aux utilisateurs avancés nécessite une séparation nette entre le contenu et la présentation.
Les premiers sites Web HTML 4 utilisaient des DIV comme le nouveau Saint Graal, en les utilisant sur presque tous les éléments de la page qui nécessitaient un peu de peaufinage, y compris (mais sans s'y limiter) l'en-tête. Les attributs de style HTML sont un endroit courant pour décrire les détails de la présentation. Enfin éliminé les tables encombrées du Web. Mais le contenu et la logique de présentation sont toujours mélangés. Le fichier CSS essentiel ne fait que quelques lignes.
Récemment, certains développeurs Web bien connus ont mis au point une approche plus intelligente des feuilles de style HTML 4. Dans les navigateurs modernes, les propriétés CSS ne se limitent pas aux éléments DIV. Vous pouvez spécifier des styles pour n'importe quel élément HTML si vous le souhaitez. De nombreux blogs ont commencé à parler du HTML sémantique. Il n'y a pas d'interdiction totale de l'élément DIV, mais les rédacteurs de pages Web commencent à utiliser des éléments HTML qui décrivent le mieux leur contenu. Par exemple, la plupart des menus de navigation de sites Web sont décrits comme des listes non ordonnées. Comme autre exemple, au lieu d'utiliser un nom de classe comme bigHeader pour les éléments de paragraphe, utilisez plutôt les éléments H1, puis utilisez CSS pour modifier la représentation si nécessaire.
Entre-temps, le W3C a proposé XHTML 1 comme version de XML conforme au HTML 4 bien formé et valide. Pour les utilisateurs XML, cela simplifie la tâche de conversion du contenu XML en pages Web et la vérification des résultats de la conversion par rapport aux validateurs existants. XHTML 1.1 tente d'isoler différents problèmes dans différents modules. Une approche modulaire facilite la réutilisation de différentes parties de la norme pour différents besoins et l'extension de la norme avec de nouvelles fonctionnalités.
XHTML 1.1, qui compte encore plus d'utilisateurs que HTML 4, sépare le contenu de la présentation. Mais comme par le passé, certains problèmes pratiques ne peuvent être résolus qu’en utilisant des astuces CSS. Par exemple, les structures de menu représentées par des listes non ordonnées incluent souvent de belles images. Cependant, les images ne sont pas faciles à lire pour les personnes malvoyantes grâce aux fonctionnalités de synthèse vocale. Et les navigateurs de texte comme Lynx ne peuvent pas afficher d'images. Une astuce CSS complexe peut masquer du texte et afficher une image dans le navigateur. Mais si le menu est différent selon les pages, il sera difficile de spécifier cette partie avec CSS. La philosophie de conception derrière XHTML 2
La philosophie de conception la plus importante derrière XHTML 2 est de séparer davantage le contenu et la présentation et d'améliorer les défauts restants de HTML 4 et XHTML 1. Par exemple, prise en charge native de la spécification d'images pour chaque élément d'une liste non ordonnée. La balise IMG SRC d'origine est remplacée par l'attribut SRC facultatif qui peut être utilisé sur n'importe quel élément. Le CSS modifié est complètement séparé du contenu et les appareils qui ne prennent pas en charge les images peuvent facilement représenter du texte à la place.
Mais CSS n’est pas le seul défi pour les développeurs Web. Beaucoup de temps est passé à interagir avec le serveur et les formulaires HTML et il y a beaucoup de code JavaScript™. Les formulaires sont limités aux paires clé-valeur unidimensionnelles. Développer du code JavaScript demande beaucoup de travail, mais cela est inutile sur une interface telle qu'un appareil de synthèse vocale.
Basé sur une approche modulaire, XHTML 2 remplace les formulaires HTML par des modules XForms, ajoutant la prise en charge des problèmes courants en utilisant le modèle d'application approprié. XForms peut spécifier une logique d'interaction, des règles de validation et des méthodes de calcul sans une seule ligne de script. De plus, cette technique utilise une structure XML riche plutôt que des paires clé-valeur, permettant des sous-formulaires imbriqués et des éléments répétés. En plus de fournir un moteur puissant, les appareils de synthèse vocale sont mieux adaptés pour modifier la richesse des applications.
En plus de XForms, il existe d'autres problèmes liés au XHTML extraits dans des spécifications indépendantes pour répondre à d'autres besoins - tels que les événements XML, XFrames et Ruby (langues asiatiques).
Avec la séparation de la représentation, la programmation est également séparée du standard. Les propriétés d'interaction comme onClick sont remplacées par le module Événements XML. La spécification XML Events elle-même ayant été conçue à cet effet, elle fournit un ensemble d'outils plus puissants pour travailler avec les interfaces utilisateur.
Pour l'innovation du XHTML 2, en résumé, l'idée de base est de décomposer différents problèmes. Le problème cesse d'être une fonctionnalité secondaire du HTML et devient l'objectif principal de la nouvelle spécification. Par conséquent, la nouvelle spécification est la mieux adaptée au problème rencontré par l’optimisation. Cependant, traiter différemment différentes questions est une question de philosophie plutôt que de pratique. Les développeurs intelligents habitués à utiliser cet ensemble d’outils peuvent obtenir les résultats dont ils ont besoin. Cependant, il n'est pas facile de dire si l'utilisateur moyen de la version HTML actuelle peut créer des documents XHTML de haute qualité.
XHTML 2 n'est probablement pas destiné aux utilisateurs HTML généraux. Mais entre les mains d’un bon développeur, cela peut constituer un excellent moyen d’améliorer l’accessibilité. Philosophie de conception HTML 5
WHATWG a adopté une approche plus réaliste lors de la conception de HTML 5. Sans considérer des concepts abstraits tels que la décomposition des problèmes, ce groupe de travail a développé des documents basés sur le comportement des navigateurs grand public actuels, complètement différent des spécifications du W3C. Sur la base de l'analyse ci-dessus, ce groupe de travail a étudié l'utilisation pratique du HTML.
Sur la base de ces informations, le groupe de travail a proposé des initiatives visant à simplifier le travail du développeur web moyen. Bien que HTML 5 prétende être dérivé de la version précédente de HTML, son objectif principal n'est pas la pureté. Par exemple, l'objectif principal de la documentation modulaire est de faciliter le remplacement par des applications Web optimisées.
Les langages modulaires basés sur cet objectif simplifient grandement le développement d'applications Web. Par exemple, HTML 5 prend en charge les composants interactifs tels que les tableaux de données, les menus et les barres d'outils. Utiliser des éléments HTML descriptifs avec un comportement par défaut évite d'avoir à écrire beaucoup de code pour simuler le comportement d'un DIV générique.
Les spécifications HTML 5 ne se limitent pas aux éléments et attributs HTML. Il définit des API JavaScript spécialisées pour l'édition de documents et les interactions glisser-déposer. Cette approche est complètement différente de la décomposition du problème. Cela simplifie l'API du développeur Web mais augmente la taille de la spécification.
HTML 5 ressemble beaucoup plus à HTML 4 que XHTML 2 à XHTML 1. Le chemin de migration est plus simple et il est plus facile pour les développeurs HTML 4 expérimentés de se familiariser avec la nouvelle version. Les nouvelles fonctionnalités suivent une logique similaire. Les attributs d'événement spécialisés pour des éléments spécifiques permettent aux éditeurs HTML de fournir une fonctionnalité de complétion de texte plus appropriée.
Les applications Web actuelles s'appuient sur du JavaScript XML (Ajax) asynchrone pour interagir avec les serveurs. HTML 5 reconnaît l'importance d'interagir avec le serveur et définit diverses façons d'interagir avec le réseau, de distribuer les événements du serveur reçus et d'envoyer des messages à des documents provenant d'autres domaines sans créer de problèmes de sécurité.
La philosophie de conception de base de HTML 5 est d'étendre HTML 4 avec les fonctionnalités dont les développeurs Web ont besoin. HTML 5 hérite des technologies de base de HTML 4 tout en les simplifiant. Afin de résoudre les défauts de HTML V4, HTML V5 choisit la méthode de refonte la plus simple et la plus directe. Application pratique des nouvelles normes
XHTML V2 和相關模組得到了 W3C 的官方支持,相關模組成為 W3C 支援的其他 XML 規範的重要因素。不幸的是,W3C 的官方認可不能保證主流 Web 瀏覽器的支援。支援一般的 XHTML V2 不是問題:現代瀏覽器已經支援很多功能。正確地使用 XHTML V2 依賴相關模組的可用性。在撰寫本文的時候,Microsoft 是否要擴展 Windows® Internet Explorer® 以支援 XML Events 和 XForms 這些特性還不清楚。一種 Mozilla XForms 插件,包括 XML Events,已經開發了數年。該插件提高了這種技術的功能,降低了實現的難度。
HTML V5 規範的編寫保持了和瀏覽器廠商的深入溝通,始終考慮到實現的問題。儘管該團隊對 W3C 官方認可表示懷疑。 FAQ 甚至沒有正式回答什麼時候通過正式批准的問題。不論 W3C 的態度如何,瀏覽器廠商似乎決定實現非正式的 HTML 5 標準。瀏覽器廠商趕在官方標準出爐前已不是第一次了。 互相競爭的標準
到目前為止,HTML 5 和 XHTML 2 都還不是正式的建議標準。將來一些細微的地方還可能會改變。但它們的發展方向不會改變,兩者都解決了現行標準存在的一些不足。未來的瀏覽器如何增加對這兩種新標準的支援還有待觀察。目前瀏覽器同時支援 HTML 4 和 XHTML 1。類似地,未來的瀏覽器可能同時支援 HTML 5 和 XHTML 2。這兩種標準都有各自的支持者。
如果對 XHTML 1.1 比 HTML 4 更關心,希望建立的文件能夠支援不同的設備,可能更偏好 XHTML 2。如果使用 XHTML 1 只是因為它符合 XML 標準,而偏好 HTML 5 的新特性,XHTML 5(用 XML 改寫的 HTML 5)也許是您的最佳選擇。
HTML 5 頗受使用 HTML 4 開發互動式 Web 應用程式的開發人員的歡迎。對於使用所見即所得 文檔編輯器的網站這種方法更可行。但要具體情況具體分析,HTML 4 和 XHTML 1 很可能要並存很久。          

更多相關教學請上   Html5影片教學
             

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn