HTML (ou peut-être juste XHTML?) est relativement strict en ce qui concerne les attributs non standard sur les balises. S'ils ne font pas partie de la spécification, alors votre code est considéré non conforme.
Les attributs non standards peuvent être assez utiles pour transmettre des métadonnées à Javascript cependant. Par exemple, si un lien doit afficher une popup, vous pouvez définir le nom de la popup dans un attribut:
cliquez moi
Alternativement, vous pouvez stocker le titre de la popup dans un élément caché, comme un span:
.popup .title { display: none; }
cliquez moi
Titre de ma Popup
Cependant, je suis partagé quant à savoir quelle méthode devrait être préférée. La première méthode est plus concise et, je suppose, ne perturbe pas autant les moteurs de recherche et les lecteurs d'écrans. En revanche, la deuxième option rend le stockage de grandes quantités de données plus facile et est donc plus polyvalente. Elle est également conforme aux standards.
Je suis curieux de connaître l'avis de cette communauté. Comment gérez-vous une situation comme celle-ci? La simplicité de la première méthode l'emporte-t-elle sur les inconvénients potentiels (s'il y en a)?