Quelle est la principale différence entre HTML 4 et HTML 5?


145

Quelles sont les principales différences entre HTML4 et HTML5 brouillon ?

Veuillez conserver les réponses relatives à la syntaxe modifiée et aux éléments html ajoutés / supprimés.

Réponses:


197

HTML5 a plusieurs objectifs qui le différencient du HTML4.

Cohérence dans le traitement des documents mal formés

Le principal est la gestion des erreurs cohérente et définie . Comme vous le savez, HTML prend volontairement en charge la «soupe aux balises», ou la possibilité d'écrire du code mal formé et de le faire corriger dans un document valide. Le problème est que les règles pour ce faire ne sont écrites nulle part. Lorsqu'un nouveau fournisseur de navigateurs souhaite entrer sur le marché, il lui suffit de tester des documents mal formés dans divers navigateurs (en particulier IE) et de procéder à une rétro-ingénierie de leur gestion des erreurs. Si ce n'est pas le cas, de nombreuses pages ne s'afficheront pas correctement (les estimations placent environ 90% des pages sur le net comme étant au moins quelque peu mal formées).

Ainsi, HTML5 tente de découvrir et de codifier cette gestion des erreurs, afin que les développeurs de navigateurs puissent tous normaliser et réduire considérablement le temps et l'argent nécessaires pour afficher les choses de manière cohérente. De plus, longtemps après la disparition du HTML en tant que format de document, les historiens voudront peut-être encore lire nos documents, et le fait d'avoir un algorithme d'analyse complètement défini y aidera grandement.

Meilleures fonctionnalités d'application Web

L'objectif secondaire de HTML5 est de développer la capacité du navigateur à être une plate-forme d'application, via HTML, CSS et Javascript. De nombreux éléments ont été ajoutés directement à la langue qui sont actuellement (en HTML4) Flash ou hacks à base de JS, tels que <canvas>, <video>et <audio>. Des éléments utiles tels que le stockage local (une base de données de valeurs-clés intégrée au navigateur accessible par js, pour stocker des informations au-delà de ce que les cookies peuvent contenir), de nouveaux types d'entrée tels que la date à laquelle le navigateur peut exposer une interface utilisateur simple (afin que nous vous n'avez pas besoin d'utiliser nos sélecteurs de dates de calendrier basés sur js), et la validation de formulaire prise en charge par le navigateur simplifiera le développement d'applications Web pour les développeurs et les rendra beaucoup plus rapides pour les utilisateurs (car de nombreux éléments seront pris en charge de manière native, plutôt que piraté via javascript).

Amélioration de la sémantique des éléments

Il existe de nombreux autres petits efforts en cours dans HTML5, tels que des rôles sémantiques mieux définis pour les éléments existants ( <strong>et <em>signifient maintenant quelque chose de différent, et même <b>et <i>ont une sémantique vague qui devrait bien fonctionner lors de l'analyse des documents hérités) et l'ajout de nouveaux éléments avec des sémantique - <article>, <section>, <header>, <aside>et <nav>devrait remplacer la majorité des <div>s utilisés sur une page Web, ce qui rend vos pages un peu plus sémantiques, mais plus important encore , plus facile à lire . Plus de numérisation pénible pour voir exactement ce que cet aléatoire </div>ferme - au lieu de cela, vous aurez une évidence </header>, ou </article>rendant la structure de votre document beaucoup plus intuitive.


14
Veuillez mettre en évidence les balises et les phrases en modifiant la réponse. (C'est juste une suggestion car pendant que je lisais ceci, cela m'a fatigué.)
Mohammad Faisal

44

De Wikipedia :

  • Nouvelles règles d'analyse orientées vers l'analyse et la compatibilité flexibles
  • Nouveaux éléments - section, vidéo, progression, navigation, compteur, temps, côté, toile
  • Nouveaux attributs d'entrée - dates et heures, e-mail, URL
  • Nouveaux attributs - ping, charset, async
  • Attributs globaux (qui peuvent être appliqués pour chaque élément) - id, tabindex, repeat
  • Éléments obsolètes supprimés - centre, police, grève

12

Vous voudrez vérifier les différences entre HTML5 et HTML4: Note du groupe de travail du W3C 9 décembre 2014 pour connaître les différences complètes. Il existe de nombreux nouveaux éléments et attributs d'élément. Certains éléments ont été supprimés et d'autres ont une valeur sémantique différente de celle d'avant.

Il existe également des API définies, telles que l'utilisation de canevas, pour aider à créer la prochaine génération d'applications Web et s'assurer que les implémentations sont standardisées.


11

HTML5 introduit un certain nombre d'API qui aident à créer des applications Web. Ceux-ci peuvent être utilisés avec les nouveaux éléments introduits pour les applications:

  • Une API pour la lecture de vidéo et audio qui peut être utilisée avec les nouveaux éléments vidéo et audio.
  • Une API qui active les applications Web hors ligne.
  • Une API qui permet à une application Web de s'enregistrer pour certains protocoles ou types de supports.
  • Une API d'édition en combinaison avec un nouvel contenteditableattribut global .
  • Une API glisser-déposer en combinaison avec un draggableattribut.
  • Une API qui expose l'historique et permet aux pages d'y ajouter pour éviter de casser le bouton de retour.

3

Vous pourriez être intéressé par cette liste d' éléments et d'attributs HTML5 .

Notez également qu'il s'agit de "HTML 4" et non de "HTML4". En effet, pour HTML 5, les deux variantes sont utilisées, mais il y a une différence de sens importante. HTML 5 fait référence au nom de la spécification W3C, tandis que "HTML5" est le type de document de ces fichiers HTML avec un text/htmltype MIME qui suit cette spécification. Il en va de même pour XHTML 5 contre XHTML5.


1
Vous semblez laisser entendre que XHTML 5 existe, alors que ce n'est pas le cas. La dernière recommandation W3C de XHTML est la version 1.1 et la version 2.0 est en cours de rédaction.
David Rivers


2
@David Rivers: Au fait, XHTML 2 n'est plus au stade de projet. Il a été abandonné au profit de HTML5 .
Mathias Bynens

Merci. Je viens de découvrir cela aussi et je ne peux pas croire à quel point j'ai été hors de la boucle. Cela a été une année difficile!
David Rivers


0

HTML 5 vous invite à ajouter beaucoup de valeur sémantique à votre code. De plus, il existe des solutions natives pour intégrer du contenu multimédia.

Le reste est important, mais c'est du sucre plus technique qui vous évitera de faire la même chose avec un langage de programmation client.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.