Invoker Commands (commandfor / command)

HTML / CSS 🟡 Mid

Définition

Attributs qui donnent à un <button> un comportement déclaratif sur un élément cible : commandfor (id de la cible) et command (toggle-popover, show-modal, close…). Les commandes personnalisées commencent par -- et déclenchent un événement command. Baseline « Newly available » depuis décembre 2025.

Analogie

Une télécommande avec des boutons étiquetés : « ouvrir », « fermer », sans câbler chaque fil soi-même.

Exemple de code

<button commandfor="dlg" command="show-modal">Ouvrir</button>
<dialog id="dlg">
  <button commandfor="dlg" command="close">Fermer</button>
</dialog>

<button commandfor="photo" command="--rotate">Pivoter</button>
<img id="photo" src="photo.jpg" alt="">
<script>
  photo.addEventListener('command', (e) => {
    if (e.command === '--rotate') photo.style.rotate = '90deg';
  });
</script>

Cas d'usage

Ouvrir modales et popovers sans JavaScript, et brancher des actions maison via un seul écouteur command.

Anti-pattern

Utiliser onclick="dlg.showModal()" en attribut HTML : commandfor gère l'accessibilité et le focus nativement.
#core#baseline2025

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre