Salut,
<a> désigne une "ancre" HTML. Donc, si l'ancre en question n'est rattaché à rien (href="#"), elle n'a pas de sens.
Pour <img> vs CSS/background-image, <img> est utilisé si l'image a un sens sémantique dans la page (illustration d'un article par exemple), sinon, CSS/background est parfait. Dans ton cas, l'image semble être juste "pour faire joli", donc je dirai CSS/background-image. Sinon, avec <img>, pour rester dans l'accessiWeb 2.0, il te faudrait une balise alternative vide (alt=""), puisqu'il s'agit d'une image qui n'a pas de "fond" ou de sens profond, et je trouve cela totalement naze, d'avoir à mettre un attribut à "".
<img> est une balise a-réactive de base, en d'autres mots, pour la rendre réactive, il faut passer forcément par du javascript. Donc, si ton élément doit réagir, le "<img onclick=", c'est pas franchement adapté niveau accessibilité.
Button me semble être la bonne alternative, avec un background CSS. En effet, button marque une commande HTML, et ici, on est en plein dedans. Pour autant, ce n'est pas une ancre. Cela donnera donc une commande réactive, avec une image pour faire joli: cela me semble parfaitement adapté.
Je vais aller chercher les sources nécessaires à la justification de mon propos, et je reviens éditer ma réponse.
A noter que la solution optimale sera d'utiliser <a>, avec href="tableau.html?page=..." par exemple, de sorte que si javascript est inactif, le clic sur la commande de changement de page reste fonctionnel. Si javascript est activé, alors un onclick="return func();" empêcherait le navigateur de suivre le lien (ou une ligne de code, dans la fonction func(), pour stopper le bouillonnement de l'évènement "onclick", mais là, je ne sais plus comment faire).
Car, avec button, ce sera javascript obligé pour faire marcher la page (pas top niveau accessibilité).
<a>:
<img>:
<button>:
Et un tag <button> peut être inséré en dehors d'un tag <form>:
<a> désigne une "ancre" HTML. Donc, si l'ancre en question n'est rattaché à rien (href="#"), elle n'a pas de sens.
Pour <img> vs CSS/background-image, <img> est utilisé si l'image a un sens sémantique dans la page (illustration d'un article par exemple), sinon, CSS/background est parfait. Dans ton cas, l'image semble être juste "pour faire joli", donc je dirai CSS/background-image. Sinon, avec <img>, pour rester dans l'accessiWeb 2.0, il te faudrait une balise alternative vide (alt=""), puisqu'il s'agit d'une image qui n'a pas de "fond" ou de sens profond, et je trouve cela totalement naze, d'avoir à mettre un attribut à "".
<img> est une balise a-réactive de base, en d'autres mots, pour la rendre réactive, il faut passer forcément par du javascript. Donc, si ton élément doit réagir, le "<img onclick=", c'est pas franchement adapté niveau accessibilité.
Button me semble être la bonne alternative, avec un background CSS. En effet, button marque une commande HTML, et ici, on est en plein dedans. Pour autant, ce n'est pas une ancre. Cela donnera donc une commande réactive, avec une image pour faire joli: cela me semble parfaitement adapté.
Je vais aller chercher les sources nécessaires à la justification de mon propos, et je reviens éditer ma réponse.
A noter que la solution optimale sera d'utiliser <a>, avec href="tableau.html?page=..." par exemple, de sorte que si javascript est inactif, le clic sur la commande de changement de page reste fonctionnel. Si javascript est activé, alors un onclick="return func();" empêcherait le navigateur de suivre le lien (ou une ligne de code, dans la fonction func(), pour stopper le bouillonnement de l'évènement "onclick", mais là, je ne sais plus comment faire).
Car, avec button, ce sera javascript obligé pour faire marcher la page (pas top niveau accessibilité).
<a>:
W3Schools a écrit :The <a> tag defines a hyperlink, which is used to link from one page to another (note: cela fonctionne aussi pour un hashtag).
The most important attribute of the <a> element is the href attribute, which indicates the link’s destination. (donc, href="#", c'est moche)
<img>:
W3 a écrit :A purely decorative image that doesn't add any information
In general, if an image is decorative but isn't especially page-specific, for example an image that forms part of a site-wide design scheme, the image should be specified in the site's CSS, not in the markup of the document. (donc, CSS/background-image pour une image décorative, et <img> pour une image dite "sémantique", c'est à dire apportant une information).
<button>:
W3 a écrit :Button state (note: signifie <button type="button">)
Represents a button with no additional semantics. (donc, il te faudra le coincer dans un "label" indiquant ce à quoi sert ce bouton).
Et un tag <button> peut être inséré en dehors d'un tag <form>:
stackOverflow a écrit :A button element is valid anywhere in the document body where text-level markup may appear. Such an element need not have any relationship to a form element.Je n'ai pas de ref HTML5, mais la référence HTML4 semble autoriser button n'importe où.