Il faut avouer une chose : les contrôles que l'on dispose dans HTML (input, select, textarea etc.) sont relativement basiques, et pas assez diversifié. On en bave dans la réalisation d'applications web. Le W3C a alors sorti en octobre dernier, un nouveau langage XML pour faire des formulaires : XFORMS.

Certes, XFORMS est puissant, on peut l'inclure dans d'autres langages que XHTML, comme SVG etc.., mais alors, il est d'une complexité assez hallucinante comparé aux formulaires HTML et totalement incompatible bien entendu. Bref, on est loin de la simplicité du HTML (qui a fait son succés).

Et voilà que j'apprend, via un billet de Daniel, que Ian Hickson a réalisé un brouillon d'une spécification pour un nouveau module pour XHTML : XFORMS-Basic.

Là je dois dire que c'est que Ian a fait est tout simplement génial. Il propose de continuer à utiliser nos controles de formulaire HTML habituels, mais avec de nombreuses extensions. Par exemple, pouvoir avoir un <input type="datetime">. Ce contrôle permet de saisir une date, et rien qu'une date, sans erreur. Le navigateur peut même proposer un petit bouton adjacent pour choisir une date dans un calendrier. Dans la même veine, vous avez des <input type="email">, <input type="number">, <input type="integer"> etc..

Ces contrôles ne suffisent pas ? Utilisez alors un <input type="text"> classique, avec l'attribut pattern devant contenir une expression régulière, qui permettra au navigateur de vérifier que la saisie correspond au format indiqué par l'expression. Chouette non ? Plus besoin de javascript dans tout les sens ! :-)

Que dire aussi de la balise select, qui se voit adjoindre un attribut editable : on peut alors soit choisir un élement dans une liste, soit directement l'écrire. C'est le genre de widget trés utilisé dans toute interface graphique moderne (comme dans la barre de saisie de l'adresse d'un site dans votre navigateur).

Je vais m'arreter là dans les exemples, il y a tellement de nouveauté :-) Je vous laisse découvrir par vous même les autres bonnes surprises.

Bon, ce n'est bien sûr qu'un brouillon pour l'instant, un document qui ne fait que retranscrire ce qu'aimerait Ian dans XHTML. Mais peut-être cela sera-t-il proposé au W3C. On verra bien.