web-dev-qa-db-fra.com

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

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

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

143
deepwell

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

Cohérence dans la gestion des documents mal formés

Le principal est traitement des erreurs cohérent et défini. Comme vous le savez, HTML prend volontairement en charge 'tag soup' ou la possibilité d'écrire du code mal formé et de le corriger dans un document valide. Le problème est que les règles pour le faire ne sont écrites nulle part. Lorsqu'un nouveau fournisseur de navigateurs souhaite entrer sur le marché, il lui suffit de tester des documents malformés dans différents navigateurs (notamment IE) et de procéder à un reverse-engineering de leur traitement des erreurs. Si ce n'est pas le cas, de nombreuses pages ne s'afficheront pas correctement (selon les estimations, environ 90% des pages sur le réseau sont au moins quelque peu malformées).

Donc, 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 éléments de manière cohérente. De plus, longtemps après que HTML soit mort comme format de document, les historiens voudront peut-être toujours lire nos documents, et un algorithme d'analyse complètement défini y contribuera grandement.

De meilleures fonctionnalités d'applications Web

Le but 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 au langage qui sont actuellement (en HTML4) des hacks Flash ou JS, tels que <canvas>, <video> et <audio>. Des objets utiles tels que le stockage local (base de données clé-valeur intégrée au navigateur accessible par js, pour stocker des informations au-delà de ce que les cookies peuvent contenir), les nouveaux types de saisie tels que la date à laquelle le navigateur peut afficher une interface utilisateur aisée pas besoin d’utiliser nos sélecteurs de calendrier basés sur js), et la validation des formulaires supportée par le navigateur simplifiera considérablement 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 supportés de manière native, plutôt que piraté via javascript).

Sémantique d'élément améliorée

De nombreux autres efforts plus modestes sont 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> a une sémantique vague qui devrait bien fonctionner lors de l'analyse de documents existants) et en ajoutant de nouveaux éléments avec une sémantique utile - <article>, <section>, <header>, <aside> et <nav> devrait remplacer la majorité des <div>s utilisés sur une page Web, rendant vos pages un peu plus sémantiques, mais plus important encore, plus facile à lire. Finies les analyses pénibles pour voir à quoi se ferme ce </div> aléatoire. Au lieu de cela, vous aurez un </header> ou </article> évident, ce qui rendra la structure de votre document beaucoup plus intuitive.

193
Xanthir

De Wikipedia :

  • Nouvelles règles d'analyse orientées vers une analyse et une compatibilité souples
  • Nouveaux éléments - section, vidéo, progrès, navigation, mètre, temps, côté, toile
  • Nouveaux attributs d'entrée - dates et heures, email, url
  • Nouveaux attributs - ping, charset, async
  • Attributs globaux (pouvant être appliqués à chaque élément) - id, tabindex, repeat
  • Éléments obsolètes lâchés - centre, police, frappe
43
Christian Davén

Vous voudrez vérifier différences HTML5 par rapport à HTML4: note du groupe de travail du W3C, 9 décembre 2014 pour connaître les différences complètes. Il y a beaucoup de 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 utilisée auparavant.

Il existe également des API définies, telles que l'utilisation de la toile, qui permettent de créer la prochaine génération d'applications Web et de s'assurer que les implémentations sont normalisées.

12
Zach

HTML5 introduit un certain nombre d'API facilitant la création d'applications Web. Ceux-ci peuvent être utilisés avec les nouveaux éléments introduits pour les applications:

  • Une API pour la lecture de fichiers vidéo et audio pouvant être utilisée avec les nouveaux éléments vidéo et audio.
  • Une API qui active les applications Web hors connexion.
  • API qui permet à une application Web de s'inscrire pour certains protocoles ou types de média.
  • Une API d'édition en combinaison avec un nouvel attribut global contenteditable.
  • Une API glisser-déposer associée à un attribut draggable.
  • Une API qui expose l'historique et permet aux pages de s'y ajouter pour éviter de casser le bouton Précédent.
11
Viktor Fonic

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

Notez également que c'est "HTML 4", pas "HTML4". En effet, pour HTML 5, les deux variantes sont utilisées, mais il existe une différence de sens importante. HTML 5 fait référence au nom de la spécification W3C, alors que "HTML5" est le type de document de ces fichiers HTML avec un type text/html MIME qui suit cette spécification. La même chose vaut pour XHTML 5 vs. XHTML5.

3
Mathias Bynens

Maintenant, W3c fournit une différence officielle sur leur site:

http://www.w3.org/TR/html5-diff/

2
Sajit

En bref, il est beaucoup plus simple que le HTML, le doctype long est supprimé et les balises center et font sont également supprimées. J'ai également répondu à cette différence dans mon blog: http://ravisinghblog.in/key-difference-between-html-and-html-5/

0
user2909753

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

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

0
e-satis