HTML Academy · Les

Het hidden-attribuut

Schakel de zichtbaarheid van elementen in of uit met het boolean-attribuut hidden.

Les 2 van 413 stappen

Het hidden-attribuut is een gratis HTML Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject HTML Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus HTML Academy bevat in totaal 4 lessen.

Wat is hidden?

Met het attribuut hidden maak je een element onzichtbaar en verwijder je het uit de toegankelijkheidsboom:

<p hidden>This paragraph is hidden.</p>
<!-- Equivalent to: display: none in CSS -->
<!-- The element is in the DOM but not rendered -->
<!-- Screen readers do not announce hidden elements -->

hidden is een booleaans attribuut

Booleaanse attributen zijn aanwezig (waar) of afwezig (onwaar) — een waarde is niet nodig:

<!-- All of these are equivalent: -->
<div hidden>Content</div>
<div hidden="">Content</div>
<div hidden="hidden">Content</div>

<!-- Remove with JavaScript: -->
element.removeAttribute('hidden');

<!-- Or set: -->
element.setAttribute('hidden', '');

hidden versus display:none versus visibility:hidden

Drie manieren om elementen te verbergen:

/* hidden attribute = display:none */
/* Element is removed from flow, invisible to AT */

/* visibility: hidden */
/* Element occupies space but is invisible */
/* Still read by some screen readers */

/* opacity: 0 */
/* Element occupies space, invisible, still interactive */
/* Still read by screen readers */

/* Hidden attribute is the simplest for fully hiding content */

Zichtbaarheid wisselen met JavaScript

Regel de zichtbaarheid door het attribuut hidden toe te voegen of te verwijderen:

const modal = document.getElementById('modal');

// Show:
modal.removeAttribute('hidden');
// or:
modal.hidden = false;

// Hide:
modal.setAttribute('hidden', '');
// or:
modal.hidden = true;

// Toggle:
modal.toggleAttribute('hidden');

CSS kan hidden overschrijven

Met CSS kan display het attribuut hidden overschrijven — let dus goed op:

/* This makes hidden elements visible again: */
[hidden] {
  display: block !important;
}

/* Do not do this unless you have a very specific reason */

/* The hidden attribute should be trusted as the source of truth for visibility */

hidden versus aria-hidden

Twee verschillende manieren om iets te verbergen:

  • hidden — visueel verborgen EN verwijderd uit de toegankelijkheidsboom
  • aria-hidden="true" — alleen verborgen in de toegankelijkheidsboom, maar visueel nog steeds weergegeven
<!-- hidden: nothing sees it -->
<div hidden>Completely hidden</div>

<!-- aria-hidden: visual users see it, screen readers skip it -->
<span aria-hidden="true">★★★★☆</span>
<span class="sr-only">4 out of 5 stars</span>

Patroon voor tonen en verbergen

Klassieke schakelaar voor tonen en verbergen met hidden:

<button
  aria-expanded="false"
  aria-controls="menu"
  id="menu-btn"
>Menu</button>

<ul id="menu" hidden>
  <li><a href="/">Home</a></li>
  <li><a href="/about">About</a></li>
</ul>

<script>
document.getElementById('menu-btn').addEventListener('click', function() {
  const menu = document.getElementById('menu');
  const expanded = this.getAttribute('aria-expanded') === 'true';
  menu.hidden = expanded;
  this.setAttribute('aria-expanded', !expanded);
});
</script>

De waarde until-found (nieuw)

HTML 5.1+ introduceerde hidden="until-found" voor doorzoekbare maar ingeklapte inhoud:

<details>
  <summary>Read More</summary>
  <div hidden="until-found" id="more-content">
    <p>This content is collapsed but findable by Ctrl+F.</p>
  </div>
</details>
<!-- hidden="until-found" hides visually but allows browser Ctrl+F to find and reveal it -->
<!-- Only supported in Chromium-based browsers currently -->

Gedrag van schermlezers

Het attribuut hidden verbergt inhoud volledig voor ondersteunende technologie:

  • Schermlezers slaan verborgen elementen over
  • De tabfocus gaat niet naar verborgen elementen
  • Dit is correct voor modale dialoogvensters, uitschuifmenu's en voorwaardelijke panelen die je niet wilt doorlopen wanneer ze verborgen zijn

Veelvoorkomende toepassingen

Wanneer je het attribuut hidden gebruikt:

  • Modale dialoogvensters voordat ze worden geopend
  • Inhoud van tabbladen (toon het paneel van het actieve tabblad en verberg de andere)
  • Stapsgewijze wizards (toon de huidige stap)
  • Progressieve onthulling (onthul meer informatie na een klik)
  • Laadstatussen (vervang een laadindicator door inhoud)

Verborgen status bewaren

Gebruik localStorage om de zichtbaarheidsstatus tussen het laden van pagina's te onthouden:

const panel = document.getElementById('info-panel');
const key = 'info-panel-visible';

// Restore state:
if (localStorage.getItem(key) === 'false') {
  panel.hidden = true;
}

// On toggle:
document.getElementById('toggle-btn').addEventListener('click', () => {
  panel.hidden = !panel.hidden;
  localStorage.setItem(key, !panel.hidden);
});

Korte controle

Wat is het verschil tussen het attribuut hidden en aria-hidden?

Samenvatting: het hidden-attribuut

De belangrijkste punten van het hidden-attribuut:

  • hidden — gelijkwaardig aan display: none
  • Booleaans: aanwezig = verborgen, afwezig = zichtbaar
  • Verwijderd uit de toegankelijkheidsboom (in tegenstelling tot visibility: hidden)
  • Schakel het met element.hidden = true/false
  • aria-hidden="true" verbergt alleen voor ondersteunende technologie en behoudt de visuele weergave
Gratis beginnen

Leer HTML met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
40
Lessen
159

Veelgestelde vragen

Is de les “Het hidden-attribuut” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad HTML Academy, waaronder “Het hidden-attribuut”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus HTML Academy bevat in totaal 4 lessen.

Wat leer ik in “Het hidden-attribuut”?

Schakel de zichtbaarheid van elementen in of uit met het boolean-attribuut hidden. Je oefent met HTML Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met HTML Academy te beginnen?

Ervaring vooraf is niet nodig. HTML Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Het hidden-attribuut”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over HTML Academy?

Ja. Elke les over HTML Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. id, class, style en title
  2. Het hidden-attribuut
  3. tabindex en accesskey
  4. Aangepaste data-attributen: data-*
← Terug naar HTML Academy