Accessible Search Form

Woher der Name Ihrer Suche kommt

Suchfeld, Lupe, Trefferansage: drei Stellen, an denen ein Suchformular verstummt.

Website prüfen
Beispiel im Prüfbericht Markierter Befund
Markierter Befund · Kritisch · WCAG 4.1.2Regler ohne zugänglichen Namen

Anatomie einer Suche

Was Menschen sehen. Was Technik weitergibt.

Eine gute Suche verbindet sichtbare Wörter, Tastaturfokus und Ergebnisstatus.

Suchlauf „Barrierefreiheit“Konzeptdarstellung, kein Produkt-Screenshot

Im Browser

Bereich: SucheWebsite durchsuchen
BarrierefreiheitSuchen

3 Treffer für „Barrierefreiheit“

  1. Barrierefreiheit prüfenPrüfverfahren und Fundstellen
  2. WCAG verständlich erklärtKriterien und Beispiele
  1. Landmarkrole="search"

    Die Suche erscheint als eigener Bereich in der Landmark-Liste.

  2. Name des Feldslabel[for] → input[id]

    „Website durchsuchen“ bleibt sichtbar und wird zum zugänglichen Namen.

  3. Fokus:focus-visible

    Der Rahmen zeigt, welches Element Enter als Nächstes auslöst.

  4. Neue Informationrole="status"

    Die Trefferzahl wird höflich angesagt. Der Fokus bleibt im Suchfeld.

Nach dem Absenden

Ein Weg, zwei brauchbare Zustände

Treffer

3 Treffer für „Barrierefreiheit“
  • Ergebnisüberschrift beschreibt das Ziel
  • Auszug erklärt den Inhalt vor dem Öffnen
  • Ein Link pro Treffer vermeidet Wiederholungen

Keine Treffer

Keine Treffer für „Barrierefreihiet“
  • Der Suchbegriff bleibt im Feld
  • Ein konkreter Korrekturvorschlag hilft weiter
  • Die Seitenübersicht bietet einen zweiten Weg

Vollständiges Muster

Die Verbindung steckt im Markup

Das sichtbare Label liefert den Namen. Die Statusregion existiert bereits beim Laden; JavaScript ändert nur ihren Text. Im Beispiel durchsuchen Sie lokale Beispieldaten.

Tab
Feld, dann „Suchen“
Enter
Suche auslösen
Danach
Status hören, im Feld bleiben
<form id="suche" role="search">
  <label for="suchfeld">Website durchsuchen</label>
  <div class="suchzeile">
    <input id="suchfeld" name="q" type="search">
    <button type="submit">Suchen</button>
  </div>
</form>

<p id="suchstatus" role="status"></p>
<ul id="suchtreffer"></ul>

<script>
const seiten = [
  { titel: 'Barrierefreiheit prüfen', text: 'Prüfverfahren und Fundstellen' },
  { titel: 'WCAG verständlich erklärt', text: 'Kriterien und Beispiele' },
  { titel: 'Barrierefreie Formulare', text: 'Labels und Fehlermeldungen' }
];
const formular = document.querySelector('#suche');
const feld = document.querySelector('#suchfeld');
const status = document.querySelector('#suchstatus');
const liste = document.querySelector('#suchtreffer');

formular.addEventListener('submit', (ereignis) => {
  ereignis.preventDefault();
  const begriff = feld.value.trim();
  const funde = seiten.filter((seite) =>
    (seite.titel + ' ' + seite.text)
      .toLowerCase()
      .includes(begriff.toLowerCase())
  );

  liste.replaceChildren(...funde.map((fund) => {
    const eintrag = document.createElement('li');
    const titel = document.createElement('strong');
    const text = document.createElement('p');
    titel.textContent = fund.titel;
    text.textContent = fund.text;
    eintrag.append(titel, text);
    return eintrag;
  }));

  status.textContent = funde.length === 1
    ? `1 Treffer für „${begriff}“`
    : `${funde.length} Treffer für „${begriff}“`;
});
</script>

Prüfen Sie die vier Verbindungen

  1. Name: Klick auf „Website durchsuchen“ setzt den Cursor ins Feld.
  2. Fokus: Tab zeigt einen gut sichtbaren Rahmen an Feld und Schaltfläche.
  3. Status: Enter aktualisiert die Zahl, ohne den Fokus zu versetzen.
  4. Leerer Zustand: Null Treffer bleibt eine verständliche Antwort.

Aus dem Prüfbericht

Drei Stellen, drei Befunde

Zum Mitnehmen

Das Suchformular, korrigiert

Ein label, ein aria-label, ein korrekter Wert.

Korrektur in 2 Schritten ansehen
  1. Suchfeld und Lupe benennen

    Das label liefert den Namen des Felds, aria-label den Namen der Schaltfläche. Das Aussehen bleibt.

    KorrekturvergleichSchritt 1 · HTML

    Vorher

    <form role="search">
      <input type="search" name="q" placeholder="Suchbegriff eingeben">
      <button type="submit">
        <svg aria-hidden="true"><use href="#icon-lupe"></use></svg>
      </button>
    </form>

    Nachher

    <form role="search">
      <label for="suche">Website durchsuchen</label>
      <input id="suche" type="search" name="q" placeholder="Suchbegriff eingeben">
      <button type="submit" aria-label="Suchen">
        <svg aria-hidden="true"><use href="#icon-lupe"></use></svg>
      </button>
    </form>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Tab durch das Formular. Ein Vorleseprogramm sagt „Website durchsuchen, Eingabefeld“ und „Suchen, Schaltfläche“.

  2. Die Trefferansage einschalten

    aria-live="polite" sagt die Trefferzahl an, sobald sie im Bereich erscheint.

    KorrekturvergleichSchritt 2 · HTML

    Vorher

    <div id="treffer" aria-live="polit"></div>

    Nachher

    <div id="treffer" aria-live="polite"></div>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Suchen Sie nach einem Wort. Ein Vorleseprogramm sagt „3 Treffer für …“, ohne dass Sie den Fokus bewegen.

Werbung

Kostenloser Website-Barrierefreiheits-Check

Website auf Barrierefreiheit prüfen.

Technische WCAG-Warnsignale erkennen. Kritische Stellen zuerst prüfen.

Der Website-Check ist bereit.

Werbung

Ein letzter Schritt

Prüfen, bevor Sie gehen.

Finden Sie automatisch erkennbare Barrieren auf Ihrer eigenen Website.

Website prüfen

Kostenlos starten · keine Installation

Automatisches Screening. Tastaturbedienung und Screenreader bleiben manuelle Prüfung.