Mot-clé - html5

Fil des billets

vendredi 15 janvier 2010

WebForms HTML5 et iPhone

Mark Pilgrim, génial auteur, vient juste de publier son chapitre sur les nouveautés qu'apporte HTML5 pour les formulaires. Évidemment, c'est une lecture indispensable. Je mettrais un petit bémol sur tout l'aspect validation de formulaires qu'il n'aborde pas et qui est pourtant une grande amélioration.

Un des intérêts immédiat est l'adaptation de l'iPhone aux nouveaux types de champs. Pour avoir un exemple plus concret, j'ai préparé un petit exemple et quelques captures d'écran. Apple propose aussi une documentation de ces changements de clavier.

Placeholder

<input type="text" placeholder="webforms roxor">
Une aide s'affiche lorsqu'aucun texte n'a été entré et disparait automatiquement.

Téléphone

<input type="tel">
Le clavier s'adapte à la saisie d'un numéro de téléphone. Il est dommage qu'un accès au répertoire ne soit pas proposé. Espérons dans une prochaine version.

Url

<input type="url">
Le clavier s'adapte à la saisie d'une URL. Un accès aux favoris aurait pu être intéressant.

Email

<input type="email">
Le clavier s'adapte à la saisie d'un email. Un accès au répertoire aurait aussi pu être intéressant.

Nombre

<input type="number">
Le clavier s'adapte à la saisie d'un nombre.

Nombre entier

<input type="text" pattern="[0-9]*">
Le clavier s'adapte à la saisie d'un nombre entier. Vous remarquerez la différence avec la saisie d'un nombre plus général. Par contre, on ne peut pas écrire <input type="number" pattern="[0-9]*"> car l'attribut pattern n'est pas disponible sur un champ number.

Utiliser ces quelques nouveaux types ne coute rien puisque les navigateurs ne comprenant pas les nouveaux types afficheront un simple champ texte. Mais quel bénéfice pour les utilisateurs de périphériques adaptés. Opera implémente une précédente version des Webforms et comprend donc une partie de ces champs. Je n'ai jamais vu comment Opera traitait ces champs sur un mobile par contre.

Connaissez-vous d'autres navigateurs ou périphériques comprenant déjà ces nouveautés ?

jeudi 30 juillet 2009

Résumé du W3cafe

Il y a deux semaine, je présentais avec Aurélien Lévy.

Voici le résumé des points abordés pour ma partie avec quelques liens externes et de bonnes ressources. En gros, c'était mon bloc notes pour me rappeler toutes les nouveautés.

HTML5

  • Philosophie Design principles
  • Définition du parser, des nécessités user agent VS auteurs
  • Nouveaux éléments
    • doctype et charset : faciles à retenir
    • nav, header, footer, section, aside, article : pour mieux structurer le contenu
    • video, audio, canvas : pour rajouter des contenus dynamiques
    • web forms (url, mail, date, range, search, color), required, placeholder, autofocus : plus de contrôle sur les formulaires
  • Nouvelles API
    • localStorage, sessionStorage, sql storage : stockage côté client façon clef => valeur ou SQL
    • app cache (manifest) : permet de stocker l'appli offline, couplé au stockage permet de faire du offline complet
    • getElementsByClassName : une nouvelle collection pour traverser facilement le DOM
    • Drag & Drop : bah euh, glisser déposer quoi :)
    • postMessage : permet de communiquer entre deux applis tournant sur des domaines différents, permettant ainsi des "mashups" plus sécurisés.
  • Presque lié à HTML5 mais dans d'autres specs
    • XHR cross domain : permet de faire des requêtes Ajax sur d'autres domaines sans passer par un proxy côté serveur
    • Selectors API : permet de sélectionner des éléments à partir d'un sélecteur, comme le font les librairies JavaScript
    • Geolocation API : donne accès à la position géographique
    • Web Workers : lancer du JavaScript dans un autre thread pour faire des traitements lourds qui ne bloque pas l'interface
    • Ecmascript 5 (pdf) (JSON.parse) : plein de nouveautés mais surtout un moyen de parser du JSON nativement et en toute sécurité.
  • Ce qui Marche dans IE8
    • JSON.parse
    • Drag & Drop vu que la spec s'est inspirée de ce que IE avait déjà implémenté depuis IE5
    • localStorage, sessionStorage
    • postMessage
    • XDR, c'est XHR cross domain mais avec un objet nommé autrement (mais la même API)
    • Selectors API mais qui ne fonctionne qu'avec les sélecteurs CSS connus par IE8 évidemment.

CSS3

  • Petit rappel : CSS 2 n'est pas encore totalement exploité (display: table, inline-block, @font-face, text-shadow, sélecteurs, generated content) ni une spec finale
  • CSS 3 est découpé par modules qui sont plus ou moins finalisés et implémentés.
  • Candidate Recommandation
    • Media queries : écrire des règles qui ne sont exécutées que si l'appareil/navigateur a certaines propriétés (couleurs, taille, ratio, etc)
    • Marquee : oui oui, le défilement comme <marquee>, très utilisé dans les pays asiatiques visiblement.
    • Basic UI : indique de nouveaux pseudo-sélecteurs et propriétés pour enrichir l'interface utilisateur (::valid, ::required, etc)
  • Last Call
  • Working draft utilisables
    • Background et border Rajoute beaucoup de possibilités : bords arrondis, bordures avec images, plusieurs arrière plans, ombre
    • Couleurs : Transparence partielle avec RGBA, d'autres espaces de couleurs avec HSL et HSLA, opacity pour la transparence
  • Working draft en cours de rédaction
    • Template layout nouveau moyen de faire des layout avec une syntaxe orientée "ASCII art" : display: "aaaaa" "bccdd"
    • Grid positionning nouveau moyen de faire des layout basés sur une construction via des grilles, proche de l'impression papier
    • Transforms 2D/3D permet de modifier l'aspect d'un élément en le tournant, tordant, déplaçant dans un espace 2D ou 3D.
    • Transitions permet de passer d'un état à l'autre d'une propriété avec une transition plutôt que brutalement
    • Animations permet de définir des animations à effectuer.

Ressources externes

  • CSS3 info : beaucoup d'exemples de fonctionnalités très simples
  • Hacks Mozilla : des exemples plus avancés et concrets d'utilisations de CSS et HTML5
  • HTML5 doctor : articles et tutoriaux sur HTML5, les techniques, l'état de l'art, etc.

mardi 21 juillet 2009

WebKit's week - #9

Week from May 11 to May 24 (before r44117). To test those changes, you'll need a WebKit nightly.

New input types (43267)

4 new input fields are now supported : url, mail, number et tel (see the HTML5 spec). No additional functionality (like completion with the address book, the bookmarks, etc), just a basic support. But we can guess those functionalities will be available later.

ARIA role : grid(43669)

Even if Safari 4 has a basic support of WAI-ARIA, the work is not over. New roles are still coming in.

Orientation and ratio available in CSS (43739)

Media queries in CSS give a better control through knowledge of the properties of the device. WebKit already supports some of those queries. This change adds support for orientation (portrait or landscape) and ration (exact, minimal or maximal) of the view.

displayName support in the debugger (43774)

Anonymous functions are often used in JavaScript. They are really handy for development but not so much when you have to find where a problem lies. Therefore, Francisco Tolmasky of 280North got the idea of the function.displayName property. You can now choose what name the debugger will use. Before that, he has also done a similar change for the profiler. I can only recommend the lengthy article he wrote about it.


This is everything for this week. Of course, this is just a selection I've made. If you've noticed any other interesting changes, please let me know. Same thing if I got something wrong.

La semaine de WebKit - #9

Semaine du 11 au 24 mai (avant r44117). Pour tester ces nouveautés, vous aurez besoin d'une nightly WebKit.

Support de nouveaux champs (43267)

4 nouveaux champs <input> sont désormais supportés : url, mail, number et tel (voir la spec HTML5). Pas de nouvelle fonctionnalité associée (comme une complétion avec le carnet d'adresses, les favoris, etc), juste un support simple. Mais on peut supposer que cela arrivera dans un second temps.

Rôle ARIA : grid(43669)

Bien que Safari 4 soit sorti avec un support élémentaire de WAI-ARIA, le travail n'est pas fini. De nouveaux rôles sont encore ajoutés.

Orientation et ratio disponible en CSS (43739)

Les media queries en CSS permettent d'avoir un contrôle plus fin sur vos CSS en se basant sur les propriétés de l'appareil qui fait le rendu. WebKit supporte déjà une partie des queries. Ce changement rajoute le support de l'orientation (portrait ou paysage) et du ratio (exact, minimal ou maximal) de la vue.

Support de displayName dans le débugueur (43774)

Les fonctions anonymes sont monnaie courante en JavaScript. Elles sont très pratiques pour le développement mais beaucoup moins lorsqu'il faut trouver à quel endroit il y a un problème. Du coup, Francisco Tolmasky de 280North a eu l'idée d'ajouter la propriété function.displayName. Ainsi, on peut choisir le nom qu'affichera le débugueur pour une fonction. Auparavant, il avait effectué un changement équivalent pour le profileur. Je vous conseille de lire l'article où il rentre dans les détails.


Voilà pour cette semaine. Évidemment, ce n'est qu'une sélection que j'ai faite. Si vous avez remarqué d'autres changements intéressants, n'hésitez pas à les mentionner. Idem si je me suis trompé dans une explication.

mercredi 8 juillet 2009

W3café de juillet, troll assuré ?

Petit relai pour le W3café du 17 juillet au soir. Détails et inscriptions.

Je m'occuperais plus des parties HTML5 et CSS3, n'étant pas du tout compétent sur WCAG2. Si vous avez des questions en avance, n'hésitez pas en commentaire, ça me permettra de réviser mes fiches avant l'oral la semaine prochaine.