<search>
Das <search>-Element kennzeichnet Bereiche einer Seite, die Such- oder Filterfunktionalität enthalten. Es ersetzt das bisherige Pattern <div role="search"> und macht die semantische Bedeutung direkt im HTML sichtbar. Das Element ist dabei nicht auf klassische Volltextsuche beschränkt — auch Filterbereiche, Sortierfunktionen oder andere Formen der Inhaltseingrenzung gehören dazu.
- Kategorie
- Semantik
- Art
- Gliederung
- Beispiele
- 4
- Browser
- 5 von 5
- 0 von 5
- Stand
- 03.07.2026
Grundlagen
Das <search>-Element ist ein semantisches Sectioning-Element, das automatisch die implizite ARIA-Rolle search erhält. Damit erkennen Screenreader und andere assistive Technologien sofort, dass es sich um einen Suchbereich handelt. Nutzer können gezielt dorthin navigieren, ohne sich durch die restliche Seite arbeiten zu müssen.
Ein paar wichtige Punkte zum Verständnis:
Kein Formular-Ersatz: Das <search>-Element ist kein Ersatz für <form>. Es ist ein semantischer Container, der einen Suchbereich markiert. Innerhalb von <search> kannst du ein <form> verwenden, musst es aber nicht. Wenn du eine clientseitige Suche mit JavaScript baust, kann <search> auch ohne <form> stehen.
Ersetzt div role=“search”: Vor der Einführung von <search> war <div role="search"> die empfohlene Methode, um Suchbereiche semantisch auszuzeichnen. Das neue Element macht genau dasselbe, nur eleganter und direkt im HTML. Bestehenden Code mit role="search" kannst du nach und nach durch <search> ersetzen.
Mehrere pro Seite erlaubt: Eine Seite kann mehrere <search>-Elemente enthalten. Ein typisches Szenario: Eine globale Suchleiste im Header und ein Filterbereich in der Sidebar. In diesem Fall solltest du jedes <search> mit einem aria-label versehen, um die Bereiche voneinander unterscheidbar zu machen.
Nicht nur für Volltextsuche: Das Element beschränkt sich nicht auf klassische Suchformulare. Auch Produktfilter, Sortieroptionen, Datumsfilter oder andere Mechanismen, mit denen Nutzer Inhalte eingrenzen, gehören semantisch in ein <search>-Element.
Syntax
<search>
<form action="/suche" method="get">
<input type="search" name="q" placeholder="Suche...">
<button type="submit">Suchen</button>
</form>
</search>Beispiele
4 BeispieleEine typische Seitensuche im Header einer Website. Das <search>-Element umschließt das Suchformular und gibt ihm eine klare semantische Bedeutung.
<header>
<div>Meine Website</div>
<search aria-label="Seitensuche">
<form action="/suche" method="get">
<input type="search" name="q" placeholder="Was suchst du?">
<button type="submit">Suchen</button>
</form>
</search>
</header>Nicht nur Suchfelder profitieren vom <search>-Element. Auch Filterbereiche mit Dropdowns und Checkboxen gehören semantisch in ein <search>, weil sie der Eingrenzung von Inhalten dienen.
<search aria-label="Produktfilter">
<form>
<h3>Produkte filtern</h3>
<label for="kategorie">Kategorie</label>
<select id="kategorie" name="kategorie">
<option value="">Alle Kategorien</option>
<option value="laptops">Laptops</option>
<option value="smartphones">Smartphones</option>
<option value="zubehoer">Zubehör</option>
</select>
<fieldset>
<legend>Preis</legend>
<label><input type="checkbox" name="preis" value="0-50"> Bis 50 €</label>
<label><input type="checkbox" name="preis" value="50-100"> 50 bis 100 €</label>
<label><input type="checkbox" name="preis" value="100+"> Über 100 €</label>
</fieldset>
<button type="submit">Filter anwenden</button>
</form>
</search>