OUJOOD.COM
Définition et utilisation de l'attribut hidden en HTML5
HTML Les attributs globauxL'attribut hidden est un attribut booléen global HTML5 qui permet de masquer des éléments du Document Object Model (DOM) de manière sémantique. Contrairement aux techniques CSS traditionnelles comme display:none, cet attribut indique explicitement qu'un élément n'est plus pertinent dans le contexte actuel de la page.
Lorsque l'attribut hidden est présent sur un élément HTML, il spécifie que cet élément ne doit pas être affiché à l'utilisateur car il n'est pas encore pertinent, ou qu'il n'est plus pertinent dans le contexte actuel de navigation. Cette approche améliore l'accessibilité web et la sémantique du document.
Les navigateurs modernes ne devraient pas afficher les éléments qui possèdent l'attribut hidden. Cet attribut est particulièrement utile pour les interfaces utilisateur dynamiques où certaines sections doivent être révélées progressivement en fonction des actions de l'utilisateur.
L'attribut hidden peut être utilisé pour empêcher un utilisateur de voir un élément jusqu'à ce qu'une condition spécifique soit remplie, comme la sélection d'une case à cocher, la validation d'un formulaire, ou le chargement de données asynchrones. Un script JavaScript peut ensuite supprimer dynamiquement l'attribut hidden et rendre l'élément visible, créant ainsi des expériences utilisateur interactives et fluides.
Syntaxe de l'attribut hidden
<element hidden>
<element hidden="hidden">
<element hidden="">
Ces trois syntaxes sont équivalentes et valides en HTML5. La première forme (sans valeur) est la plus concise et recommandée.
Exemple pratique : paragraphe masqué avec l'attribut hidden
Cet exemple démontre l'utilisation basique de l'attribut hidden pour masquer des paragraphes HTML. Les éléments marqués comme hidden ne seront pas rendus visuellement par le navigateur.
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Démonstration attribut hidden HTML5</title> </head> <body> <!-- Paragraphe masqué avec l'attribut hidden --> <p hidden="hidden">Ce paragraphe est masqué et ne sera pas visible.</p> <!-- Paragraphe visible normalement --> <p>Ce paragraphe est visible pour tous les utilisateurs.</p> <!-- Autre syntaxe valide de l'attribut hidden --> <p hidden="">Ce paragraphe sera également masqué.</p> <!-- Syntaxe la plus concise (recommandée en 2026) --> <p hidden>Forme courte de l'attribut hidden.</p> </body> </html>
Manipulation dynamique de l'attribut hidden avec JavaScript
L'un des cas d'usage les plus puissants de l'attribut hidden est sa manipulation via JavaScript. Cela permet de créer des interfaces utilisateur réactives où les éléments apparaissent ou disparaissent en fonction des interactions utilisateur.
Exemple : masquer un élément au clic
Cet exemple illustre comment masquer dynamiquement un élément HTML lorsque l'utilisateur clique dessus, en utilisant la propriété JavaScript hidden.
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Attribut hidden dynamique avec JavaScript</title> <script> // Fonction pour masquer l'élément ciblé function masquerElement() { // Récupération de l'élément par son ID const element = document.getElementById('paragraphe-cliquable'); // Application de l'attribut hidden via JavaScript element.hidden = true; } </script> </head> <body> <h1>Démonstration interactive de l'attribut hidden</h1> <!-- Paragraphe interactif qui se masque au clic --> <p id="paragraphe-cliquable" onclick="masquerElement()" style="cursor: pointer; color: blue;"> Cliquez sur ce paragraphe pour le masquer dynamiquement. </p> </body> </html>
Exemple avancé : afficher/masquer avec basculement
Pour des interfaces plus sophistiquées, voici un exemple de toggle (basculement) de l'attribut hidden permettant d'afficher et de masquer alternativement un élément.
Compatibilité navigateurs de l'attribut hidden
L'attribut hidden est pris en charge dans tous les navigateurs modernes en 2026, y compris Chrome, Firefox, Safari, Edge et Opera. Les anciennes versions d'Internet Explorer (IE 10 et antérieures) ne supportent pas cet attribut. Pour les projets devant supporter les navigateurs obsolètes, utilisez un polyfill CSS :
Différences entre HTML 4.01 et HTML5
L'attribut hidden est une nouveauté introduite en HTML5. Il n'existait pas dans les spécifications HTML 4.01. Cette fonctionnalité fait partie des améliorations sémantiques apportées par HTML5 pour mieux structurer et gérer la visibilité du contenu web.
Attribut hidden vs CSS display:none
Bien que l'attribut hidden et la propriété CSS display:none produisent un résultat visuel similaire, ils ont des implications sémantiques différentes :
- hidden : indique que l'élément n'est pas pertinent dans le contexte actuel (sémantique)
- display:none : contrôle purement visuel sans signification sémantique particulière
- Les lecteurs d'écran et technologies d'assistance peuvent traiter différemment ces deux approches
- L'attribut hidden peut être surchargé par du CSS, contrairement à ce qu'on pourrait penser
Remarque importante : L'attribut hidden est un attribut booléen et peut être écrit de plusieurs façons équivalentes :
<element hidden> (syntaxe recommandée en 2026)
<element hidden="hidden">
<element hidden="">
Ces trois écritures expriment exactement la même chose et produisent le même résultat.
Par carabde | Mis à jour le 11 février 2026