HTML Academy · Lektion

Attributet hidden

Växla elements synlighet med det booleska attributet hidden.

Lektion 2 av 413 steg

Attributet hidden är en gratis lektion i HTML Academy på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för HTML Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i HTML Academy innehåller totalt 4 lektioner.

Vad är hidden?

Attributet hidden gör ett element osynligt och tar bort det från tillgänglighetsträdet:

<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 är ett booleskt attribut

Booleska attribut är antingen närvarande (true) eller frånvarande (false) — inget värde behövs:

<!-- 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 jämfört med display:none och visibility:hidden

Tre sätt att dölja element:

/* 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 */

Ändra synlighet med JavaScript

Styr synligheten genom att lägga till eller ta bort attributet hidden:

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 åsidosätta hidden

CSS display kan åsidosätta attributet hidden — var försiktig:

/* 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 jämfört med aria-hidden

Två olika typer av döljning:

  • hidden — visuellt dolt OCH borttaget från tillgänglighetsträdet
  • aria-hidden="true" — endast dolt från tillgänglighetsträdet, visas fortfarande visuellt
<!-- 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>

Mönster för att visa och dölja

Klassiskt mönster för att visa och dölja med 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>

Värdet until-found (nytt)

HTML 5.1+ introducerade hidden="until-found" för sökbart men hopfällt innehåll:

<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 -->

Skärmläsarbeteende

Attributet hidden döljer innehåll helt från hjälpmedelsteknik:

  • Skärmläsare hoppar över dolda element
  • Tabbfokus går inte till dolda element
  • Detta är korrekt för modaler, menyer utanför skärmen och villkorliga paneler som inte ska gås igenom när de är dolda

Vanliga användningsområden

När attributet hidden ska användas:

  • Modala dialogrutor innan de öppnas
  • Innehåll i tabbpaneler (visa panelen för den aktiva fliken och dölj övriga)
  • Stegbaserade guider (visa det aktuella steget)
  • Progressiv visning (visa mer information vid klick)
  • Laddningstillstånd (ersätt laddningsindikatorn med innehåll)

Bevara dolt tillstånd

Använd localStorage för att komma ihåg synlighetstillstånd mellan sidladdningar:

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);
});

Snabbkontroll

Vad är skillnaden mellan attributet hidden och aria-hidden?

Sammanfattning: attributet hidden

Det viktigaste om attributet hidden:

  • hidden — motsvarar display: none
  • Booleskt: närvaro = dolt, frånvaro = synligt
  • Borttaget från tillgänglighetsträdet (till skillnad från visibility: hidden)
  • Ändra med element.hidden = true/false
  • aria-hidden="true" döljer endast från hjälpmedelsteknik och behåller visningen
Gratis att börja

Lär dig HTML med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
40
Lektioner
159

Vanliga frågor

Är lektionen ”Attributet hidden” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen HTML Academy, inklusive ”Attributet hidden”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i HTML Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Attributet hidden”?

Växla elements synlighet med det booleska attributet hidden. Ni övar på HTML Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig HTML Academy?

Du behöver inga förkunskaper. Utbildningen i HTML Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Attributet hidden”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här HTML Academy-lektionen?

Ja. Varje HTML Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. id, class, style och title
  2. Attributet hidden
  3. tabindex och accesskey
  4. Anpassade dataattribut: data-*
← Tillbaka till HTML Academy