Commentaire: La plupart des gens utilisent HTML 4 et XHTML 1 pour écrire des pages Web. Relativement peu de passionnés de HTML comprennent le concept de HTML sémantique, vérifient la structure HTML et améliorent l'accessibilité des documents. Les documents HTML de haute qualité sont le résultat de compromis répétés, de sélection de conception et de discussion. Malgré les critiques, aucune langue n'a une performance populaire comparable à HTML. La plupart des utilisateurs sont satisfaits de la situation actuelle
La plupart des gens utilisent HTML 4 et XHTML 1 pour écrire des pages Web. Relativement peu de passionnés de HTML comprennent le concept de HTML sémantique, vérifient la structure HTML et améliorent l'accessibilité des documents. Les documents HTML de haute qualité sont le résultat de compromis répétés, de sélection de conception et de discussion. Malgré les critiques, aucune langue n'a une performance populaire comparable à HTML. La plupart des utilisateurs sont satisfaits du statu quo actuel, comme s'ils devaient naître comme ça.
Mais comme beaucoup d'autres normes, HTML a des successeurs. Même maintenant, les experts envisagent toujours la prochaine version de HTML pour résoudre tous les problèmes connus dans la version actuelle. Comme quiconque avec beaucoup de gens, ces experts ont également des opinions différentes sur l'orientation future de ce travail.
La première proposition pour la nouvelle version HTML provenait du groupe de travail d'une organisation W3C. L'idée du groupe de travail tourne autour de XHTML 2 - la norme poursuit la direction de développement de la purification supplémentaire de XHTML et de retour à la première version du concept de conception HTML.
Certains experts HTML importants en dehors de W3C - fournisseurs de navigateurs, développeurs Web, auteurs et autres - sont très judicieux avec la direction 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 Group Group), ils ont lancé HTML 5 et Web Forms 2.
Plusieurs années plus tard, une autre direction de développement de HTML a été clairement décrite par le projet de travail. En avril 2007, W3C a voté sur la proposition d'accepter HTML 5 dans le processus d'audit standard et (également) ne l'a pas reconnu comme une norme formelle. La plupart des gens sont d'accord. Une situation intéressante est donc apparue: W3C a étudié deux technologies de successeurs HTML et XHTML concurrentes à la fois. En théorie, les deux ont de bonnes raisons. Dans la pratique, de nombreux obstacles sont surmontés pour faire en sorte que tous les navigateurs traditionnels soutiennent ces deux normes.
C'est le fait fondamental qui mène à cette situation pour le moment. Plus significatif est de discuter des réelles différences entre les deux propositions. Cet article résume les points de base des deux propositions puis analyse les concepts de conception des deux. Abréviation couramment utilisée
CSS: feuille de style en cascade
HTML: Langue de balisage hypertexte
W3C: World Wide Web Alliance
XHTML: Une brève histoire de XHTML en langage de balisage hypertexte extensible
Comprendre la philosophie de conception cachée derrière XHTML 2 nécessite un peu d'histoire. Au début des années 1990, la première version HTML était basée sur le langage de balisage général standard (SGML). La principale différence est les caractéristiques de l'hyperlien: le fond de base et le facteur de réussite du World Wide Web. Comme SGML, HTML permet à l'auteur de décrire la structure d'un document, séparant l'en-tête des paragraphes, des listes ordonnées et des listes non ordonnées. Les résultats d'affichage à l'écran sont liés au navigateur.
À mesure que le Web devient de plus en plus populaire, les utilisateurs de HTML nécessitent le contrôle de l'apparence de la page. Les fabricants de navigateurs ont introduit de nouvelles fonctionnalités dans HTML 2 et 3. Les pages Web deviennent difficiles à comprendre, et les structures de table imbriquées complexes deviennent le principal moyen de contrôler la disposition de la page. Le reste du document est rempli d'étiquettes de police et de déclarations de couleurs. La structure du document d'origine est difficile à régler.
HTML 4 est introduit pour mettre fin à cette confusion, poussant la logique de représentation à CSS, introduisant une couche (div) pour le positionnement de contenu avancé. Par rapport à HTML 3, cela signifie des changements dans le modèle d'écriture de code. Pour simplifier le processus de migration, l'ancienne structure HTML 3 est prise en charge par la version transitionnelle de HTML 4. La version stricte pour les utilisateurs avancés exige que le contenu et la représentation soient complètement séparés.
Le premier site Web HTML 4 utilise Div comme nouveau Saint Graal, et presque tous les éléments de la page qui doivent être légèrement modifiés, y compris (mais sans s'y limiter) l'en-tête. Les attributs de style HTML sont des endroits communs où les détails sont décrits. Le flot de formes a finalement été éliminé des pages Web. Mais le contenu et la logique de présentation sont toujours mitigés. Le fichier CSS essentiel n'est que quelques lignes.
Récemment, certains développeurs Web bien connus ont trouvé une approche plus intelligente des feuilles de style HTML 4. Dans les navigateurs modernes, les attributs CSS ne se limitent pas aux éléments div. Vous pouvez spécifier des styles pour n'importe quel élément HTML tant que vous le souhaitez. Beaucoup de blogs commencent à parler de HTML sémantique. Les éléments div ne sont pas complètement interdits, mais les écrivains Web commencent à utiliser les éléments HTML qui conviennent le mieux pour décrire leur contenu. Par exemple, le menu de navigation de la plupart des sites Web est mieux décrit dans une liste non ordonnée. Par exemple, au lieu d'utiliser un nom de classe comme Bigheader pour les éléments de paragraphe, changez-le en élément H1, puis utilisez CSS pour modifier la représentation en fonction des exigences.
Dans le même temps, W3C a proposé XHTML 1 en tant que version XML conforme au HTML 4 bien structuré et efficace. Pour les utilisateurs XML, cela simplifie le travail de convertir le contenu XML en pages Web et de vérifier les résultats de conversion avec les programmes de vérification existants. XHTML 1.1 essaie d'isoler différents problèmes en différents modules. L'approche modulaire facilite la réutilisation de différentes parties de la norme pour différents besoins, et facilite également l'expansion de la norme avec de nouvelles fonctionnalités.
Par rapport à HTML 4, XHTML 1.1 a encore plus d'utilisateurs, séparant le contenu et la représentation. Mais comme par le passé, certains problèmes pratiques ne peuvent être résolus qu'à l'aide de techniques dans CSS. Par exemple, les structures de menu représentées par des listes non ordonnées incluent généralement de belles images. Cependant, les images ne sont pas faciles à lire à travers des installations de voix de texte aux personnes handicapées visuelles. De plus, les navigateurs de texte comme Lynx ne peuvent pas afficher des images. Une astuce CSS complexe pour masquer le texte dans le navigateur pour afficher les images. Cependant, si les menus sur différentes pages sont différents, il est difficile de spécifier cette partie du contenu avec CSS. Le concept 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, améliorant les défauts résiduels dans HTML 4 et XHTML 1. Par exemple, spécifiez la prise en charge native pour les images pour chaque élément de la liste non ordonnée. La balise IMG SRC d'origine a été remplacée par un SRC d'attribut en option qui peut être utilisé pour n'importe quel élément. Le CSS modifié est complètement hors du contenu, et les appareils qui ne prennent pas en charge les images peuvent facilement se tourner pour représenter le texte.
Mais CSS n'est pas le seul défi pour les développeurs Web. Beaucoup de temps est consacré à l'interaction entre les serveurs et les formulaires HTML et la présence de beaucoup de code JavaScript ™. Les formulaires sont limités aux paires de valeurs clés unidimensionnelles. Le développement du code JavaScript est beaucoup de travail, mais il est inutile sur les interfaces comme les dispositifs de conversion de la voix de texte.
Sur la base d'une approche modulaire, XHTML 2 remplace les formulaires HTML par le module XFORMS, ajoutant la prise en charge des FAQ à l'aide du modèle d'application approprié. Xforms ne nécessite pas une seule ligne de scripts pour spécifier la logique d'interaction, les règles de vérification et les méthodes de calcul. De plus, cette technique utilise de riches structures XML plutôt que des paires de valeurs clés, permettant d'apparaître des sous-formulaires imbriqués et des éléments en double. En plus de fournir un moteur puissant, les appareils à voix texte conviennent plus à la modification de la richesse des applications.
En plus des XForms, il existe d'autres problèmes liés à XHTML extraits dans des spécifications indépendantes pour répondre à d'autres besoins, tels que les événements XML, les XFrames et Ruby (langue asiatique).
Avec la séparation des représentations, la programmation est également séparée de la norme. Les propriétés interactives telles que ONClick sont remplacées par le module d'événements XML. Étant donné que la spécification des événements XML elle-même est conçue pour cela, il fournit un ensemble plus puissant d'outils pour gérer les interfaces utilisateur.
Pour l'innovation de XHTML 2, le concept de base est de décomposer différents problèmes. Le problème n'est plus une caractéristique secondaire de HTML, mais l'objectif principal de la nouvelle spécification. Par conséquent, la nouvelle spécification est mieux adaptée aux problèmes rencontrés par l'optimisation. Cependant, la différence dans différents problèmes est due à la nécessité d'idées plutôt qu'à la pratique. Les développeurs intelligents familiarisés avec l'utilisation de 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é.
La cible de XHTML 2 n'est probablement pas l'utilisateur HTML moyen. Mais entre les mains de bons développeurs, cela peut être un bon moyen d'améliorer l'accessibilité. Concept 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égradation du problème, ce groupe de travail formule des documents basés sur le comportement des navigateurs traditionnels actuels, ce qui est complètement différent de la spécification W3C. Sur la base de l'analyse ci-dessus, ce groupe de travail a étudié l'utilisation réelle du HTML.
Sur la base de ces informations, le groupe de travail a proposé un programme conçu pour simplifier le travail des développeurs Web généraux. Bien que HTML 5 prétend être dérivé de la version HTML précédente, son objectif principal n'est pas la pureté. Par exemple, l'objectif principal des documents modulaires est de faciliter le remplacement par des applications Web optimisées.
Le langage modulaire basé sur cet objectif simplifie considérablement le développement d'applications Web. Par exemple, HTML 5 prend en charge les composants interactifs tels que les tables de données, les menus et les barres d'outils. L'utilisation d'éléments HTML descriptifs avec un comportement par défaut peut éviter de simuler le comportement d'un div général avec beaucoup de code.
La spécification HTML 5 n'est pas limitée aux éléments et attributs HTML. Il définit les API JavaScript dédiées telles que l'édition de documents et les interactions glisser-déposer. Cette méthode est complètement différente de la méthode de décomposition des problèmes. Il simplifie l'API du développeur Web mais augmente la taille de la spécification.
La similitude entre HTML 5 et HTML 4 est beaucoup plus grande que celle entre XHTML 2 et XHTML 1. Le chemin de migration est plus plat, et il est également plus pratique pour les développeurs HTML 4 expérimentés pour connaître la nouvelle version. Les nouvelles fonctionnalités suivent une logique similaire. Les propriétés spéciales des événements pour des éléments spécifiques permettent aux éditeurs HTML de fournir des capacités de réalisation de texte plus appropriées.
Les interactions actuelles entre les applications Web et les serveurs dépendent de la XML JavaScript asynchrone (AJAX). HTML 5 reconnaît l'importance d'interagir avec les serveurs, définit une variété de façons d'interagir avec le réseau, de distribuer des événements de serveur reçu et d'envoyer des messages d'autres domaines à des documents sans causer de problèmes de sécurité.
La philosophie de conception de base de HTML 5 est d'étendre HTML 4 en utilisant des fonctionnalités dont les développeurs Web ont besoin. HTML 5 est simplifié tout en héritant de la technologie HTML 4 de base. Afin de résoudre les lacunes de HTML V4, HTML V5 a choisi le moyen le plus simple et le plus direct de refonte. Application pratique de nouvelles normes
XHTML V2 et les modules connexes sont officiellement soutenus par W3C, et les modules connexes sont devenus un facteur important dans les autres spécifications XML soutenues par W3C. Malheureusement, la reconnaissance officielle du W3C ne garantit pas la prise en charge des navigateurs Web grand public. Soutenir le général XHTML V2 n'est pas un problème: les navigateurs modernes prennent déjà en charge de nombreuses fonctionnalités. Une utilisation appropriée de XHTML V2 dépend de la disponibilité des modules pertinents. Au moment de la rédaction du moment de la rédaction, il n'est pas clair si Microsoft souhaite étendre Windows® Internet Explorer® pour prendre en charge les événements XML et XForms. Un plugin Mozilla Xforms, y compris les événements XML, est en développement depuis plusieurs années. Ce plugin améliore la fonctionnalité de cette technologie et réduit la difficulté de mise en œuvre.
La rédaction des spécifications HTML V5 maintient une communication approfondie avec les fabricants de navigateurs et prend toujours en compte les problèmes de mise en œuvre. Bien que l'équipe ait exprimé des doutes sur l'approbation officielle du W3C. La FAQ n'a même pas répondu officiellement à la question de savoir quand l'approbation formelle a été adoptée. Quelle que soit l'attitude de W3C, les fournisseurs de navigateurs semblent avoir décidé de mettre en œuvre la norme informelle HTML 5. Ce n'est pas la première fois que les fabricants de navigateurs sont en mesure de rendre les normes officielles disponibles. Normes concurrentes
Jusqu'à présent, ni HTML 5 ni XHTML 2 ne sont officiellement recommandés. Certains domaines subtils peuvent changer à l'avenir. Mais leur direction de développement ne changera pas, ce qui résout certaines des lacunes des normes actuelles. Il reste à voir comment les futurs navigateurs peuvent augmenter le soutien de ces deux nouvelles normes. Le navigateur actuel prend en charge HTML 4 et XHTML 1. De même, les futurs navigateurs peuvent prendre en charge HTML 5 et XHTML 2. Les deux normes ont leurs propres supporters.
Si vous vous souciez plus de XHTML 1.1 que HTML 4, vous espérez que le document que vous créez peut prendre en charge différents appareils, et vous préférez peut-être XHTML 2. Si vous utilisez XHTML 1 simplement parce qu'il est conforme aux normes XML et préfère les nouvelles fonctionnalités de HTML 5, XHTML 5 (HTML 5 réécrit dans XML) peut être votre meilleur choix.
HTML 5 est populaire parmi les développeurs qui utilisent HTML 4 pour développer des applications Web interactives. Cette approche est plus réalisable pour les sites utilisant l'éditeur de document WYSIWYG. Cependant, afin d'analyser la situation spécifique, HTML 4 et XHTML 1 peuvent coexister pendant longtemps.