Mes impressions sur le web, les standards et autres…


Nouveautés dans Firefox 1.5

Après une nouvelle mise à jour automatique via le système de mises à jour de Deer Park, je constate qu’il a changé de nom pour reprendre l’appellation Mozilla Firefox (suivi d’un petit Beta 1). La chaîne UA confirme ce changement. La sortie de la première version bêta de Firefox 1.5 est désormais imminente (c’est une question d’heures). Profitons-en pour refaire un petit tour des nouveautés qu’apporte Firefox 1.5.

Éléments HTML, tabindex et attention (focus)

Les éléments possédant un attribut tabindex avec une valeur négative peuvent maintenant obtenir l’attention (Bug 171366). Bon point : Cela permettra une plus grande accessibilité pour les scripts générant des structures avec le DOM. Mauvais point : Ce n’est pas à priori en conformité avec la recommandation HTML, laquelle indique que cet attribut peut prendre une valeur entre 0 et 32767. Ceci dit, du strict point de vue de la DTD, c’est valide.

Par contre, la recommandation dit également : Les éléments suivants reconnaissent l'attribut tabindex : A, AREA, BUTTON, INPUT, OBJECT, SELECT, et TEXTAREA, donc évitez quand même les trucs du genre <div tabindex="-1"> en dur dans vos documents HTML ;¬)

Formulaires et élément OBJECT

Les éléments OBJECT présents dans un formulaire et possédant un attribut name font maintenant parti des données soumises lors de la validation du formulaire. La partie de la recommandation sur les commandes dans les formulaires n’est pas très claire sur ce qu’il est sensé se passer : la valeur initiale d'un élément OBJECT dans un formulaire est déterminée par l'implémentation de l'objet (i.e., elle n'est pas précisée par cette spécification). Avec ça, on est bien avancé tiens… (Bug 188938).

Support des citations imbriquées

Elles sont désormais supportées comme décrites dans la spécification CSS 2.1.

Ce mécanisme est en sursis en ce qui concerne la spécification CSS 2.1 mais est néanmoins bien présent dans le module CSS 3 sur le contenu généré.

Support de la pseudo-classe :only-child (CSS 3)

Bètement, ça sélectionne l’élément (ou n’importe quel élément si on ne le précise pas ou qu’on utilise le sélecteur universel) seulement s’il est l’unique enfant de son parent.

Surlignements CSS 3

Firefox supporte maintenant les propriétés outline, outline-width, outline-style et outline-color décrites dans CSS 3. Firefox 1.0.x les supportait déjà, mais uniquement avec le préfixe -moz-, et ce support était boiteux :

La propriété outline-offset est également supportée (Je l’utilise d’ailleurs sur ce site pour le menu).

Module Multi-column layout (expérimental)

Ce module est pour l’instant supporté à titre expérimental. Un bel exemple d’utilisation (et en bonus, des précisions sur cette implémentation).

Curseurs et CSS

Les nouvelles valeurs possibles dans CSS 3 pour la propriété cursor sont désormais supportées (bug 163174), de même que la syntaxe permettant de spécifier un icône de curseur avec une URL ( bug 286303). J’ose espérer que ce sera désactivable à l’aide d’une préférence dans about:config. Le document What’s new indique de toute façon que les curseurs animés (en SVG, GIF ou autre) ne sont pas supportés.

Autres nouveautés CSS

Support des propriétés overflow-x et overflow-y de CSS 3 (Ces propriétés sont supportées également au moins par IE). Ajout également de la propriété -moz-outline-radius (non standard et je n’en ai rien vu dans CSS 3).

Il y a aussi bien sùr une des nouveautés les plus attendues : Le mécanisme de génération de compteurs. Sauf que l’implémentation faite dans Firefox correspond apparamment à une mise à jour à venir de CSS 2.1, donc il y a peut-être quelques différences mineures avec l’implémentation existante dans Opera. Encores des maux de tête en perspective…

N’oublions pas également le nombre élevé de bugs CSS corrigés (grr… d’URL à rallonge).

Et pour JavaScript ? Et le DOM ?

À vrai dire, les nouveautés n’ont pas de quoi faire entrer en transe vu qu’il y en a très peu. Pas de diminution drastique de la ribambelle de bugs présents dans l’implémentation du DOM Events. Pas d’implémentation de l’interface nodeIterator (supportée par Opera). Pas de nouveauté percutante quoi.

Bon, il y a quand même, de façon globale, un nombre conséquent de bugs corrigés. Pour les quelques nouveautés, je vous renvoie au document dont j’ai donné l’URL au début de ce billet.

Support de SVG

Je n’ai que très peu de connaissances de ce format, mais c’est assez important donc je le dis : Firefox 1.5 supporte nativement le SVG ( de même qu’Opera si je ne m’abuse). Mozilla SVG Project (pour les infos et les exemples).

Support de XForms

XForms est appelé à devenir la prochaine génération de formulaires en lieu et place des basiques formulaires du HTML. Basé sur XML et disposant bien évidemment d’un espace de nom, il pourra donc être utilisé dans n’importe quel document XML le nécessitant, et notamment XHTML 2.0.

Le support de XForms dans Firefox ne sera pour l’instant disponible que via l’ajout d’une extension. Ça plus le fait que Firefox est, à ma connaissance, le seul navigateur à supporter XForms signifie que cela ne sera utilisable à court terme, et au mieux, que sur un intranet par exemple (mais c’est déjà pas mal si on fait abstraction de la complexité de XForms). Mozilla XForms Project.

En vrac

Parmi les autres nouveautés ou corrections importantes, citons notamment :

Voilà, je pense que ce petit tour d’horizon (qui ne concerne que la partie développement web des nouveautés de Firefox 1.5; voir aussi la catégorie dans laquelle est publié ce billet) est relativement complet. Pour la liste des bugs notables corrigés et concernant le développement web, je m’attelerai à la tâche ces prochains jours dans un autre billet.