Mes impressions sur le web, les standards et autres…


Question de choix

Je continue actuellement le développement de mon script de compatibilité pour faire fonctionner le DOM Events dans la plupart des navigateurs. Le script fonctionne bien (je l’utilise sur webnaute.net d’ailleurs).

J’ai tenté dernièrement de simuler l’attribut detail de l’objet Event sous MSIE. Dans le cas d’évènements liés à la souris et nécessitant une pression du doigt, cet attribut a une valeur par défaut de 1 et s’incrémente si l’évènement lié se produit de manière successive. Bref, si l’utilisateur effectue deux click successifs, nous aurons pour le second click Event.detail = 2.

J’ai pu faire quelque chose de fonctionnel. Là où le bât blesse, c’est que j’ai dù utiliser une valeur arbitraire comme intervalle de temps maximum entre deux évènements pour décider si ces deux évènements se suivent (et donc incrémenter Event.detail) ou non.

Alors je suis confronté à un choix difficile : Dois-je me contenter de ce que j’ai fait et donc garder cette valeur arbitraire (en sachant que l’intervalle entre deux click successifs est généralement réglable dans les préférences système) ? Ou bien faire marche arrière et me contenter de donner une valeur correcte à Event.detail pour un maximum de deux click successifs (je pourrai alors m’en sortir avec l’évènement dblclick) ?

Dans le premier cas, il restera un problème, car Opera semble refuser de déclencher plus de deux click successifs. Il se produit un léger blocage avant que cela refonctionne, mais trop tard pour considérer les évènements click ultérieures comme liés aux deux précédents (Je n’ai fait le test que sur un élément BUTTON pour l’instant).

Dans le second cas, la simulation de Event.detail ne sera parfaitement en accord avec la recommandation, laquelle ne donne pas de limite de déclenchements successifs. J’admet cependant que dans la pratique, cele n’est probablement pas utile en tout cas dans le cadre d’une page web, même une interaction basée sur deux click successifs est très rare. Je ne l’ai vu qu’une fois : C’était sur un wiki et le double click permettait d’accéder au formulaire de modification de la page en cours.

J’attend vos avis nombreux et éclairés.

Vos réactions, opinions, insultes…

Rétroliens

Faire un rétrolien sur ce billet : [trackback]

Commentaires

1. De Bobe

Bon, pour Opera, il semble bien que la cause du problème était qu’on avait à faire à un élément BUTTON. Ça fonctionne en utilisant plutôt un élément INPUT.

2. De Bobe

Pour information, je me suis finalement rabattu sur la seconde option.

L’ajout de commentaires sur ce billet n’est pas/plus autorisé.