Question

Cette question a été inspirée par cette question , dans laquelle les plus votés answer m'a recommandé d'utiliser une fonctionnalité de HTML 5. Cela semblait certes être une bonne méthode, mais cela m'a rendu curieux d'utiliser les fonctionnalités d'une spécification future en général.

HTML 5 offre de nombreuses améliorations intéressantes, dont beaucoup peuvent être utilisées sans causer de problèmes avec les navigateurs actuels.

Quelques exemples:

// new, simple HTML5 doctype (puts browsers in standards mode)
<!doctype HTML>

// new input types,  for easy, generic client side validation
<input type="email" name="emailAddress"/>
<input type="number" name="userid"/>
<input type="date" name="dateOfBirth"/>

// new "required" attribute indicates that a field is required
<input type="text" name="userName" required="true"/>

// new 'data-' prefixed attributes
// for easy insertion of js-accessible metadata in dynamic pages
<div data-price="33.23"> 
    <!-- -->
</div>
<button data-item-id="93024">Add Item</button>

Beaucoup de ces nouvelles fonctionnalités sont conçues pour permettre aux navigateurs de valider automatiquement les formulaires et de leur fournir de meilleures entrées (par exemple, un sélecteur de date). Certaines ne sont que pratiques et semblent constituer un bon moyen de se préparer pour l'avenir.

Ils ne cassent actuellement rien (autant que je sache) dans les navigateurs actuels et permettent un code propre et générique côté client.

Cependant, même s'ils sont tous valides dans HTML 5, ils ne sont PAS valables pour HTML 4 et HTML 5 est encore un brouillon.

Est-ce une bonne idée d'utiliser ces fonctionnalités rapidement?

Existe-t-il des problèmes d’implémentation de navigateur que je n’ai pas compris?

Devrions-nous développer maintenant des pages Web qui utilisent les fonctionnalités de brouillon HTML 5?

Était-ce utile?

La solution

Il y a plusieurs choses à considérer:

  1. Premièrement, la validation n'a pas beaucoup de sens, car une page HTML peut très bien être valide, mais mal écrite, inaccessible, etc. Voir Dites non à " Valid HTML " icônes et Envoi de XHTML sous forme de texte / html considéré comme nuisible (en référence au site Web hobo-web tests mentionnés dans une autre réponse)
  2. Dans ce cas, je vous recommande vivement d'utiliser le nouveau DOCTYPE: la seule raison de l'avoir en HTML5 est que c'est la plus petite chose qui déclenche le mode standard dans les navigateurs. Si vous voulez le mode standard, utilisez-le; vous avez peu ou pas de raison d'utiliser un autre document DOCTYPE sujet à l'erreur, verbeux
  3. En ce qui concerne les améliorations apportées aux formulaires, vous pouvez utiliser la bibliothèque webforms2 de Weston Ruter. aux navigateurs non avertis
  4. et enfin, à propos des attributs data - * , cela a) fonctionne dans tous les navigateurs (tant que vous utilisez getAttribute () ), b) est encore meilleur que d’abuser des attributs titre ou classe et que c) ne vous dérangera pas avec la validation car nous avons dit plus tôt que la validation n’était pas importante (< bien sûr, mais peu importe que votre page soit invalide si les erreurs de validité sont volontaires, et que vous pouvez déjà utiliser la validation HTML5 dans le validateur W3C, alors ...); il n'y a donc aucune raison réelle de ne pas les utiliser non plus.

Autres conseils

Bonne question!

En bref: cela dépend de votre contexte et de votre tolérance au risque:)

légèrement plus long:

  • Je pense qu'il est toujours bon de repousser les limites en matière d'adoption précoce de la technologie. Cela vous donne un avantage sur les retardataires dans le monde commercial et vous donne également beaucoup plus d'influence pour influencer la technologie à mesure qu'elle apparaît.

  • Si vous ne voulez pas avoir à réécrire le code, ou mettre à jour votre source, l'adoption précoce peut ne pas être pour vous. Il est parfaitement respectable de vouloir écrire un code solide et stable qui ne change jamais, mais cela dépend entièrement de vous (et de votre contexte professionnel)

Si votre page repose fortement sur le positionnement des moteurs de recherche, il peut être utile de noter que certains moteurs accordent la priorité à la validation HTML (Source: http://www.hobo-web.co.uk/seo-blog/index.php/official- google-prefers-valid-html-css / ).

En outre, il convient de noter que le fait de s’appuyer sur les nouveaux éléments d’entrée de la date (tels que ceux d’Opera, peut-être d’autres) permet plus de commodité de la part du développeur. Cela exclut généralement l’inclusion de contrôles Javascript plus complexes qui permettraient de mieux gérer les serveurs. navigateurs anciens (en général, retour à un simple champ de saisie de texte).

Bien sûr et comme toujours, ne vous fiez pas aux vérifications effectuées par le navigateur et ne validez pas tout le serveur d'entrée.

Veuillez ne pas utiliser les nouvelles fonctionnalités avant de pouvoir les tester dans au moins un navigateur. Par exemple, si vous utilisez les fonctionnalités de formulaire maintenant, veillez à tester dans Opera. Sinon, vous ferez probablement plus de mal que de bien en contribuant à un héritage empoisonné.

Lorsqu'une fonctionnalité est déjà implémentée dans les navigateurs et que vous testez avec ces navigateurs, bien sûr, utilisez les nouvelles fonctionnalités.

Voir aussi une réponse ancienne .

Voir Principe de robustesse :

  

Dans RFC 761 (Contrôle de transmission   Protocole, 1980) Ordinateur américain   le scientifique Jon Postel a résumé   communications antérieures de désiré   critères d'interopérabilité pour la   Protocole Internet (voir IEN 111 1 , RFC   760) comme suit:

     

Les implémentations TCP doivent suivre un   principe général de robustesse: be   conservateur dans ce que vous faites, soyez   libéral dans ce que vous acceptez   autres .

Alors, à mon humble avis, non.

Je ne mettrai pas en oeuvre de nouvelles fonctionnalités HTML tant que tous les principaux navigateurs ne seront pas compatibles.

Les clients ne s’intéressent pas à la validité de votre page, mais s’ils s’intéressent davantage à son fonctionnement sur plusieurs navigateurs. Même si nous nous battons pour appliquer les normes les plus récentes, il restera encore des clients et des entreprises qui n'abandonneront jamais leur IE6, et IE6 figurera encore dans la liste des exigences du navigateur.

Les nouveaux types de formulaire sont les bienvenus, néanmoins, les formulaires doivent être vérifiés côté serveur.

Le passage à HTML5 des documents existants nécessitera beaucoup d’efforts et d’adaptation et, à mon avis, ne se fera pas du jour au lendemain. Attendez-vous à au moins trois ans jusqu'à ce que cela se concrétise.

J'utiliserais HTML 5 simplement pour le plaisir et l'apprentissage, mais je ne toucherais définitivement à aucun de mes codes de production (code existant) avec cette nouvelle norme, du moins à ce jour et jusqu'à ce que j'ai une raison valable de soutenir cette initiative. .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top