Niveau Niveau débutant

Attributs globaux hidden, contenteditable, contextmenu, spellcheck

Tutorielhtml

Publié par le , mis à jour le (19533 lectures)

attributs spellcheck contextmenu contenteditable hidden

Attribut hidden

La présence de l'attribut hidden indique que l'élément ne doit pas être atteint, et donc par défaut ne doit pas être affiché. Il faut bien comprendre que ceci relève en premier lieu de la sémantique et qu'il ne faut pas le confondre avec la propriété display:none en CSS qui ne relève que de l'aspect graphique.

Hidden

Exemple d'utilisation de l'attribut hidden
Les étapes d'un formulaire, affichées après avoir complété des informations préliminaires et nécessaires pour accéder aux étapes suivantes. Il s'agira alors d'ajouter/supprimer cet attribut sur les conteneurs en question.

Exemple de non utilisation de l'attribut hidden (en CSS avec display:none
Pour un diaporama ou un système d'onglets pour afficher/cacher du contenu dynamiquement.

On peut également présumer que l'attribut pourra renseigner plus efficacement les moteurs de recherche sur les zones qu'il est inutile d'indexer. Cependant rien ne garantit que les robots le prendront effectivement en compte.

Syntaxe

<element hidden>...</element>

Valeurs possibles

L'attribut hidden est de type booléen (vrai ou faux), sa seule présence suffit avec une syntaxe HTML. Il est également possible d'écrire hidden="hidden" si l'on se conforme à la syntaxe XHTML.

Démonstration

<section id="etape2" hidden>Contenu non atteignable</section> 

Changement d'état avec JavaScript

Il est bien entendu possible de changer l'état avec un script :

<script>
document.getElementById('etape1').hidden = false;
</script>

Démonstration

Prise en charge de l'attribut hidden

Navigateurs Versions
Firefox Firefox 6+
Chrome Chrome 7+
Safari Safari 5.1+
Opera Opera 11.1+

L'inconvénient de cet attribut est qu'il n'est pas supporté jusqu'à Internet Explorer 10 inclus. Il est néanmoins possible de combler ce manque avec un surplus de JavaScript, par exemple en jQuery. Il n'existe pas de solution automatisée (et optimisée) de repli qui surveillerait la présence des attributs hidden en JavaScript pour afficher/masquer les éléments, car l'événement DOM onpropertychange est encore peu supporté.

Démonstration