Zum Hauptinhalt springen
VelinStyle v1.2.0
⌂ Home
  1. Docs
  2. Helpers
  3. Visuell verborgen

Visuell verborgen 1.2.0

Nutze .velin-sr-only, um ein Element visuell zu verstecken und es fuer assistive Technologien wie Screenreader zugaenglich zu halten. Mit .velin-sr-only--focusable wird es bei Fokus wieder sichtbar. English: visually-hidden

Reifegrad: .velin-sr-only und .velin-sr-only--focusable sind stable A11y-Helper in 1.2.0. Es gibt keine separate Core-CSS-Klasse .velin-visually-hidden; nutze .velin-sr-only.

Wann verwenden

Wann nicht verwenden

Funktionsweise

.velin-sr-only schneidet das Element auf einen 1x1-px-Bereich zu und nutzt dafuer clip, clip-path, feste Groessen und overflow: hidden. Es verschwindet aus dem visuellen Flow, bleibt aber im Accessibility Tree.

.velin-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}

Beispiel: verborgene Ueberschrift

Fuege einer Navigation eine visuell verborgene Ueberschrift hinzu, damit Screenreader-Nutzer einen Orientierungspunkt erhalten.

Die Ueberschrift "Hauptnavigation" ist visuell verborgen, wird aber von Screenreadern angesagt.

<nav aria-labelledby="nav-heading">
  <h5 class="velin-sr-only" id="nav-heading">Hauptnavigation</h5>
  <ul>
    <li><a href="#">Start</a></li>
    <li><a href="#">Funktionen</a></li>
    <li><a href="#">Preise</a></li>
  </ul>
</nav>

Ein Skip-to-content-Link bleibt verborgen, bis Nutzer per Tab darauf fokussieren. Kombiniere .velin-sr-only mit .velin-sr-only--focusable, damit Tastaturnutzer wiederholte Navigation ueberspringen koennen.

Zum Hauptinhalt springen

Druecke Tab, um den Skip-Link oben einzublenden.

<a href="#main-content" class="velin-sr-only velin-sr-only--focusable">
  Zum Hauptinhalt springen
</a>

Beispiel: Formularlabels

Wenn ein sichtbares Label nicht noetig ist, etwa bei einer Suche mit Placeholder, kannst du das <label> verstecken und das Formular zugaenglich halten.

<form class="velin-flex velin-flex--items-center velin-flex--gap-2">
  <label for="sr-search" class="velin-sr-only">Suche</label>
  <input type="search" id="sr-search" class="velin-input" placeholder="Suchen...">
  <button type="submit" class="velin-btn velin-btn--primary">Los</button>
</form>

Welche Technik wann?

Es gibt mehrere Wege, Inhalte zu verstecken. Waehle nach Bedarf, ob das Element zugaenglich bleiben soll.

TechnikSichtbarIm Accessibility TreeBelegt PlatzAm besten fuer
.velin-sr-onlyNeinJaNeinInhalte, die nur Screenreader ansagen sollen
display: noneNeinNeinNeinInhalte, die fuer alle verborgen sind
visibility: hiddenNeinNeinJaLayoutplatz reservieren
aria-hidden="true"JaNeinJaDekorative Visuals fuer Screenreader ausblenden

Barrierefreiheit