Même si j'ai tendance à penser que le travail d'Olivier n'a pas vraiment à être amélioré, J'aimerai bien proposer des ajouts (au sens étapes supplémentaires pour ceux/celles qui se sentent motivé(e)s) sur deux points.

1. Rendre discret le javascript aussi bien dans l'interface que dans le code source en générant le balisage :

<dl>
<dt></dt>
<dd></dd>
</dl>


Par javascript lui même puisque tout ceci n'a de raison d'être que si javascript est actif.

2. Avancer sur la question de l'accès au contenu que constitue le title des vignettes liens dans le cas d'une navigation clavier combinée avec javascript inactif.
Pour le "1.", j'y avais pensé au moment de la rédaction, en effet c'est un choix, je ne sais plus pourquoi j'avais fait comme ça... sûrement pour ne pas complexifier le code JS (mine de rien, ça ajoute pas mal de ligne et d'éléments inconnus (manipulation du DOM notament) dans le JS pour "pas grand chose" même si sur le fond je suis assez d'accord.

Donc, je suis assez partagé sur ce point Smiley ohwell

Pas tout pigé du "2." (mais je suis fatigué donc bon...)

Autres ajouts :

3. remanier le code HTML pas top du tout
4. faire un effet "chargement" de l'image (ou effacement de la précédente avant affichage de l'image cliquée) parcequ'on a parfois l'impression que cliquer sur une vignette ne fait rien alors qu'il faut juste attendre
5. remanier le code JS par ci par là
6. paramétrer la fonction pour permettre d'avoir plusieurs listes de vignettes à parcourir (genre une à gauche une à droite) comme c'est très souvent demandé sur le forum
7. proposer quelques styles alternatifs en complément (version colonne, version en ligne etc.)

(l'ordre des éléments n'est pas un ordre d'importance)

Je vous laisse donner vos avis.
Olivier a écrit :

Pas tout pigé du "2." (mais je suis fatigué donc bon...)


La légende de la photo (qui est récupérée dans le <dt>) est le title du lien. Le title d'un lien n'est pas accessible en navigation clavier. donc si javascript est en plus inactif alors commentaire_photo=title=dt n'est plus présent nulle part.

Or, et c'est le problème, le résultat final en js invite fortement à donner une forte valeur de contenu au commentaire... Ce qui est perdu (js inactif) est donc d'autant plus important.

En fait pour tout dire je pense que le commentaire de la photo devrait être présent en dur hors js. Etre récupéré et utilisé dans le dt si js actif sans passer par le title du lien, parce que le title ne devrait pas servir à ça.

Mais je ne sais pas comment faire...

Les premières étapes de ma réflexion sont ici :
Récupérer-le-contenu-d'un-élément-sans-innerHTML

Concernant le html c'est +1 pour moi. Déjà en virant la liste de définition (que ce soit générée ou pas).
Modifié par clb56 (29 Aug 2006 - 00:08)
Olivier a écrit :
Pour le "1.", j'y avais pensé au moment de la rédaction, en effet c'est un choix, je ne sais plus pourquoi j'avais fait comme ça... sûrement pour ne pas complexifier le code JS (mine de rien, ça ajoute pas mal de ligne et d'éléments inconnus (manipulation du DOM notament) dans le JS


Oui tout à fait, c'est d'ailleurs pour ça que j'en parlais en terme d'étape supplémentaire pour approfondir le sujet.
Bonjour,
clb56 a écrit :

Le title d'un lien n'est pas accessible en navigation clavier. donc si javascript est en plus inactif alors commentaire_photo=title=dt n'est plus présent nulle part.

Je comprends maintenant pourquoi tu veux mettre le commentaire du title en dur.

Pour les points cités par Olivier, j'en ajouterai un:
- activation du script avant la fin de chargement.
En effet, si la page est longue à charger, le visiteur pressé peux cliquer sur un lien alors que le script n'est pas encore actif.
Modifié par chmel (29 Aug 2006 - 23:21)