Webformulare, Tabellen und Medien in HTML

Erstelle Webformulare, die die benötigten Informationen erfassen: Wähle Eingabetypen, mehrzeilige Textfelder und Dropdown-Listen, beschrifte jedes Steuerelement und verstehe, was der Browser sendet. Nutze die integrierte Validierung des Browsers, um fehlende oder falsch formatierte Antworten zu erkennen. Stelle Daten in übersichtlichen, barrierefreien Tabellen dar, ergänze Audio und Video mit Untertiteln und Ersatzinhalten und binde Karten, Videos und andere Seiten sicher mit iframes ein.

AnfängerEinheit 3 von 8 in Kurs: HTML und CSS – barrierefreie, responsive Webseiten erstellen

Was du lernst

  1. Erstelle ein Formular, wähle für jede Information ein passendes Steuerelement, beschrifte jedes Steuerelement und verstehe genau, was der Browser beim Absenden des Formulars sendet.
    • Erstelle ein Formular und verstehe, welche Daten es sendet
      Nutze das form-Element, Namen und Werte, Sendeschaltflächen sowie die Attribute action und method, um festzulegen, welche Daten die Seite verlassen und wohin sie gesendet werden.
    • Wähle Eingabetypen passend zu den Daten
      Wähle für jede Information den passenden Eingabetyp, damit Browser die richtige Tastatur oder Auswahlhilfe anbieten und das grundlegende Format prüfen.
    • Verwende mehrzeilige Textfelder, Dropdown-Listen und andere Steuerelemente
      Erfasse längere Texte, biete feste Auswahllisten und Eingabevorschläge an und zeige Fortschritte oder Messwerte mit textarea, select, datalist, progress und meter.
    • Beschrifte jedes Steuerelement und gruppiere zusammengehörige Steuerelemente
      Verbinde sichtbare Beschriftungen mit ihren Steuerelementen, gruppiere zusammengehörige Steuerelemente mit fieldset und legend und ergänze Eingabehinweise und Hinweise zur automatischen Vervollständigung, damit alle das Formular ausfüllen können.
  2. Nutze HTML-Validierungsattribute, damit der Browser fehlende, zu lange, außerhalb des Wertebereichs liegende und falsch formatierte Werte vor dem Absenden des Formulars erkennt, und verstehe die Grenzen dieser Prüfung.
    • Lege Pflichtfelder fest und begrenze die Textlänge
      Nutze required, minlength und maxlength und sage voraus, wann der Browser das Absenden zulässt oder verhindert.
    • Lege Wertebereiche und Schrittweiten für Zahlen, Datumsangaben und Uhrzeiten fest
      Nutze min, max und step, um nur sinnvolle Werte zuzulassen, und sage voraus, welche Werte die Prüfung bestehen.
    • Prüfe Eingaben auf Muster und gib hilfreiche Rückmeldungen
      Schreibe einfache Musterregeln, erkläre sie den Benutzern, gestalte gültige und ungültige Felder und verstehe, warum der Server die Daten erneut prüfen muss.
  3. Zeichne tabellarische Daten mit Zeilen, Zellen, Kopfzellen und einer Tabellenbeschriftung aus und halte größere Tabellen durch Geltungsbereiche von Kopfzellen, Zeilen- und Spaltengruppen sowie verbundene Zellen verständlich.
    • Erstelle eine Datentabelle mit Kopfzellen und Tabellenbeschriftung
      Nutze table, tr, th, td und caption, um Daten in Zeilen und Spalten darzustellen, und gib der Tabelle mit Geltungsbereichen für Kopfzellen und Zeilengruppen eine klare Struktur.
    • Verbinde Zellen und ordne Datenzellen in komplexen Tabellen ihre Kopfzellen zu
      Nutze colspan und rowspan korrekt, gruppiere Spalten und verbinde Zellen mit ihren Kopfzellen, wenn eine Tabelle mehr als eine Überschriftenebene hat.
  4. Binde Ton und Video mit den browser­eigenen Wiedergabeprogrammen ein, stelle browserübergreifend funktionierende Formate und Ersatzinhalte bereit und mache Medien mit Untertiteln und Transkripten für alle nutzbar.
    • Binde Audio und Video mit den passenden Attributen ein
      Nutze die Elemente audio und video mit Wiedergabesteuerung, Größenangaben, einem Vorschaubild und Ladehinweisen und entscheide, wann automatische Wiedergabe und Wiederholung angemessen sind.
    • Biete überall nutzbare Formate und Ersatzinhalte an
      Wähle breit unterstützte Dateiformate, führe alternative Quellen in der gewünschten Reihenfolge auf und ergänze Ersatzinhalt.
    • Ergänze Untertitel für gehörlose und schwerhörige Menschen, weitere Untertitel und Transkripte
      Schreibe eine einfache WebVTT-Datei, binde sie mit dem track-Element ein und stelle Transkripte bereit, damit Medien ohne Ton nutzbar sind.
  5. Platziere Karten, Videos und andere Webseiten mit iframes innerhalb deiner eigenen Seite und wähle Einstellungen, die jede Einbettung barrierefrei, schnell, datenschutzfreundlich und sicher machen.
    • Binde eine Seite mit einem iframe ein
      Ergänze einen iframe mit Titel, Größe und Lazy Loading, passe einen Einbettungscode einer anderen Website an und erkenne Websites, die keine Einbettung erlauben.
    • Achte bei Einbettungen auf Sicherheit und Datenschutz und wähle das passende Element
      Begrenze mit sandbox und allow, was eine eingebettete Seite tun darf, berücksichtige, welche Besucherdaten Einbettungen weitergeben, und wähle zwischen iframe, embed, object und den Medienelementen.

Webformulare einfach erklärt

5 Kapitel

1

Erstelle bedienbare Formulare

Ein nützliches Formular beginnt mit den Informationen, die Menschen eingeben müssen. Wähle dazu passende Steuerelemente, gib jedem eine klare Beschriftung und verbinde sie mit einem Formular, das aussagekräftige Namen und Werte sendet. Ein Suchfeld, ein Nachrichtenformular und ein Dateiupload erfassen alle Eingaben, benötigen aber unterschiedliche Einstellungen. Wenn du das HTML von der Eingabe bis zur ausgehenden Anfrage nachvollziehst, kannst du diese Entscheidungen leichter prüfen.

1.1 Wie ein Formular Namen und Werte sendet

Ein Formular erfasst zusammengehörige Antworten und sendet sie an eine URL. Das <form>-Element umschließt seine Steuerelemente und die Sendeschaltfläche. Halte getrennte Formulare auseinander: HTML erlaubt kein Formular innerhalb eines anderen Formulars.

Ziel und Methode wählen

action nennt die empfangende URL. Ohne diese Angabe geht die Anfrage an die aktuelle Seite. method legt fest, wie der Browser die Daten sendet; standardmäßig gilt GET.

MethodeWohin die Daten gehenTypische Verwendung
GETIn die URL nach einem FragezeichenSuchen und Filter
POSTIn den Nachrichtenkörper der AnfrageNachrichten, Anmeldungen und Änderungen gespeicherter Daten

GET-Daten können im Verlauf, in Lesezeichen und in Serverprotokollen erscheinen. POST hält sie aus dem Query-String heraus, verschlüsselt sie aber nicht. Verwende HTTPS, um Daten bei der Übertragung zu schützen. Das Serverprogramm empfängt und verarbeitet die Anfrage; das HTML-Formular selbst speichert Antworten nicht und versendet sie nicht per E-Mail.

Eine Suchanfrage nachvollziehen
<form action="/search" method="get">
  <label for="query">Search</label>
  <input id="query" type="search" name="q">
  <label for="language">Language</label>
  <select id="language" name="lang">
    <option value="en">English</option>
  </select>
  <button type="submit">Search</button>
</form>

Gibt der Benutzer „html tables“ ein, fordert der Browser /search?q=html+tables&lang=en an. Er nimmt den Feldnamen q und seinen aktuellen Wert, kodiert das Leerzeichen als + und verbindet die beiden Paare mit &. Das ? leitet den Query-String ein.

Ein Steuerelement braucht einen name, um Daten beizusteuern. Seine id erfüllt einen anderen Zweck: Sie identifiziert das Element auf der Seite und verbindet es unter anderem mit einer Beschriftung. Ein Eingabefeld mit id="query", aber ohne name, kann normal aussehen und funktionieren, ohne eine Antwort zur Anfrage beizutragen.

Welche Steuerelemente Daten beisteuern

Ein leeres Textfeld mit Namen steuert einen leeren Wert bei, etwa comment=. Ein angekreuztes Kontrollkästchen steuert seinen value bei; ohne Wert steuert es on bei. Ein nicht angekreuztes Kontrollkästchen steuert nichts bei. Ein deaktiviertes Steuerelement ist nicht bedienbar und wird ausgelassen. Ein unterstütztes readonly-Feld kann nicht bearbeitet werden, steuert aber weiterhin seinen Wert bei.

Ein verstecktes Eingabefeld wie <input type="hidden" name="source" value="newsletter"> steuert einen Wert ohne sichtbares Steuerelement bei. Der Wert ist nicht geheim: Besucher können ihn in den Entwicklerwerkzeugen untersuchen und ändern.

Das Verhalten von Schaltflächen ausdrücklich festlegen

Innerhalb eines Formulars sendet ein gewöhnlicher <button> dieses standardmäßig ab. Schreibe type="submit" für die Sendeschaltfläche und type="button" für eine Schaltfläche, die ein Skript benötigt. type="reset" stellt Ausgangswerte wieder her und kann die Eingaben eines Benutzers löschen. Auch das Drücken der Eingabetaste in einem einzeiligen Feld sendet das Formular oft ab. <input type="submit" value="Send"> ist ein weiteres Steuerelement zum Absenden; ein <button> kann außerdem Inline-Inhalte wie ein Symbol enthalten.

Den Inhalt einer Datei senden
<form action="/upload" method="post" enctype="multipart/form-data">
  <label for="attachment">Attachment</label>
  <input id="attachment" type="file" name="attachment">
  <button type="submit">Upload</button>
</form>

Für einen gewöhnlichen Dateiupload sind sowohl POST als auch enctype="multipart/form-data" nötig. Bei der Standardkodierung des Formulars werden Dateinamen als Text übertragen, die Dateiinhalte aber nicht.

Wichtige Erkenntnisse

  • Der name eines Steuerelements identifiziert seinen übermittelten Wert; die id identifiziert das Element auf der Seite.
  • GET setzt Paare in die URL; POST setzt sie in den Nachrichtenkörper der Anfrage. HTTPS verschlüsselt die Übertragung.
  • Nicht angekreuzte Kontrollkästchen und deaktivierte Steuerelemente werden ausgelassen; unterstützte schreibgeschützte Felder werden übermittelt.
  • Lege Schaltflächentypen ausdrücklich fest, um versehentliches Absenden oder Zurücksetzen zu verhindern.
  • Dateiuploads benötigen POST und multipart/form-data.

1.2 Eingabetypen und die Werte, die sie erfassen

Ein <input> ist ein leeres Element und hat daher weder Inhalt noch ein schließendes Tag. Sein type wählt das Steuerelement und die zugehörigen Hilfen des Browsers. Fehlende oder nicht erkannte Typen fallen auf ein Textfeld zurück.

Text passend zum Zweck erfassen
TypVerwendungHilfe des Browsers
textEine Zeile FreitextAllgemeine Texteingabe
searchEine SuchanfrageKann eine Schaltfläche zum Löschen enthalten
emailEine E-Mail-AdresseE-Mail-Tastatur und Syntaxprüfung
urlEine vollständige WebadresseURL-Tastatur und Syntaxprüfung
telEine TelefonnummerTelefontastatur; keine Formatprüfung
passwordEin PasswortVerdeckt die sichtbaren Zeichen

Ein E-Mail-Feld prüft die Syntax, nicht aber, ob ein Postfach existiert. Selbst „ana@example“ besteht die grundlegende Syntaxprüfung. Ergänze multiple, um eine durch Kommas getrennte Liste von Adressen zu akzeptieren. Ein URL-Feld erwartet ein URL-Schema: „https://example.com“ besteht die Prüfung, „example.com“ dagegen nicht. Telefonformate unterscheiden sich, daher gibt tel keine Formatregel vor. Die Maskierung eines Passworts verhindert, dass Menschen in der Nähe den Bildschirm ablesen; HTTPS sorgt weiterhin für die Verschlüsselung bei der Übertragung.

Mengenangaben von Zifferncodes unterscheiden

Verwende number für eine Mengenangabe, etwa eine Anzahl oder Masse. Das Feld hat oft Schaltflächen, mit denen sich der Wert erhöhen oder verringern lässt. Verwende range für eine ungefähre Einstellung wie die Lautstärke; der Standardbereich reicht von 0 bis 100 und der Standardwert ist 50.

Ein Mitgliedscode ist keine Mengenangabe. Verwende <input type="text" inputmode="numeric"> für einen Zifferncode, damit führende Nullen Text bleiben und die Schaltflächen ihn nicht ändern. inputmode schlägt nur eine Bildschirmtastatur vor: Es validiert die Eingabe nicht. decimal, tel, email und url sind weitere nützliche Tastaturhinweise.

Anzeige- und Übermittlungsformat unterscheiden

Datumsauswahlen richten sich nach den Regionseinstellungen des Benutzers. Der 15. März 2026 kann als „03/15/2026“ oder „15/03/2026“ erscheinen, das übermittelte Datum ist aber 2026-03-15.

TypBeispiel für einen übermittelten Wert
date2026-03-15
time14:30
datetime-local2026-03-15T14:30
month2026-03
week2026-W11

Diese Steuerelemente speichern keine Zeitzone. Bei einer lokalen Terminzeit muss daher der Ort oder die Zeitzone gesondert angegeben werden, wenn das wichtig ist.

Unabhängige Auswahl oder Einfachauswahl anbieten

Kontrollkästchen sind unabhängig: Mehrere können angekreuzt werden. Optionsfelder bilden eine Gruppe für eine Einfachauswahl, wenn ihre name-Werte übereinstimmen. Gib jedem Optionsfeld einen eigenen value und verwende checked für eine Vorauswahl.

<label><input type="radio" name="size" value="S"> Small</label>
<label><input type="radio" name="size" value="M" checked> Medium</label>
<label><input type="radio" name="size" value="L"> Large</label>

Die Vorauswahl sendet size=M. Unterschiedliche Namen würden separate Gruppen erzeugen und mehrere Auswahlen erlauben.

Farben und Dateien auswählen

color bietet eine Farbauswahl und kann eine RGB-Farbe wie #ff8800 senden. file öffnet eine Dateiauswahl; accept=".pdf,image/*" schlägt PDFs und Bilder vor, und multiple erlaubt mehrere Dateien. Der Filter hilft bei der Auswahl; der Server muss weiterhin Typ und Inhalt der empfangenen Datei prüfen. Bei Steuerelementen, die value verwenden, legt es den Ausgangswert fest, der auch übermittelt wird, wenn der Benutzer nichts ändert.

Wichtige Erkenntnisse

  • Wähle einen Typ nach der Bedeutung der Daten, nicht allein nach ihrem Aussehen.
  • Die Typen für E-Mail und URL prüfen die Syntax; tel und inputmode tun das nicht.
  • Verwende für Zifferncodes Text mit einem Hinweis auf eine numerische Tastatur.
  • Die Anzeige von Datum und Uhrzeit hängt von den Regionseinstellungen ab; die übermittelten Formate sind fest und enthalten keine Zeitzone.
  • Optionsfelder für eine Einfachauswahl haben denselben Namen; Kontrollkästchen erlauben unabhängige Auswahlen.
  • Der accept-Filter einer Dateiauswahl ist keine Sicherheitsprüfung.

1.3 Lange Antworten, feste Auswahlmöglichkeiten und Vorschläge

Ein einzeiliges Eingabefeld eignet sich nicht für jede Antwort. Längerer Text braucht Platz, während feste Auswahlmöglichkeiten Steuerelemente benötigen, die zeigen, was erlaubt ist. Entscheide vor der Wahl des Elements, ob Benutzer auch etwas außerhalb der Auswahl eingeben dürfen.

Längerem Text ein mehrzeiliges Textfeld geben
<label for="message">Message</label>
<textarea id="message" name="message" rows="5" cols="40"></textarea>

rows gibt die sichtbare Anzahl der Zeilen an und cols die ungefähre Breite in Zeichen. Keines der Attribute begrenzt die Menge des eingebbaren Texts; verwende dafür maxlength. Der Ausgangstext gehört zwischen die Tags, nicht in ein value-Attribut. Leerzeichen und Zeilenumbrüche dort werden Teil des Ausgangswerts. Direkt nebeneinanderstehende öffnende und schließende Tags ergeben daher ein tatsächlich leeres Feld.

Einen Wert aus einer Dropdown-Liste senden
<label for="delivery">Delivery</label>
<select id="delivery" name="delivery" required>
  <option value="">Choose delivery</option>
  <option value="standard">Standard (3–5 days)</option>
  <option value="express">Express (next day)</option>
</select>

Die Auswahl „Express (next day)“, also Expresslieferung am nächsten Tag, sendet delivery=express. Der sichtbare Wortlaut kann eine Auswahl erläutern, während ihr value kurz und unverändert bleibt. Hat eine Option keinen value, wird ihr Text übermittelt. Ergänze selected, um eine Option vorauszuwählen. Hier hat die erste Option einen leeren Wert, sodass die Pflichtliste mit Einfachauswahl erst abgesendet werden kann, wenn der Benutzer eine Lieferart auswählt.

Optionen gruppieren oder mehrere zulassen

Ein <optgroup label="Hot drinks"> gibt zusammengehörigen Optionen eine Überschrift. Diese Überschrift ist selbst keine Auswahlmöglichkeit. Ein select mit multiple erlaubt mehrere ausgewählte Optionen, und size legt die sichtbaren Zeilen fest. Jeder ausgewählte Wert wird zu einem eigenen Paar mit demselben Namen: topics=html&topics=css.

Am Desktop erfordert die Mehrfachauswahl oft einen Strg-Klick oder Cmd-Klick. Bei einer kurzen Liste unabhängiger Optionen machen Kontrollkästchen die Auswahl meist deutlicher. Bei einer kurzen Liste für eine Einfachauswahl halten Optionsfelder alle Optionen sichtbar. Für eine lange feste Liste eignet sich ein select.

Vorschlagen, ohne einzuschränken
<label for="city">City</label>
<input id="city" name="city" list="cities">
<datalist id="cities">
  <option value="Nairobi">
  <option value="Osaka">
</datalist>

Das list-Attribut des Eingabefelds stimmt mit der id des datalist-Elements überein. Benutzer sehen Vorschläge, können aber weiterhin eine andere Stadt eingeben. Eine datalist ist daher für häufige Antworten auf eine offene Frage nützlich. Wird ein select durch eine datalist ersetzt, ändern sich die zulässigen Auswahlmöglichkeiten; es ändert sich nicht nur das Aussehen derselben festen Liste.

Fortschritt oder einen Messwert anzeigen

<progress> und <meter> zeigen Werte an, statt Antworten zu erfassen. Ein Fortschrittsbalken zeigt den Stand einer Aufgabe, etwa <progress value="70" max="100">70%</progress>. Eine Messwertanzeige zeigt einen Messwert in einem bekannten Bereich: <meter value="0.6">60%</meter> kann belegten Speicherplatz darstellen. Standardmäßig reicht der Bereich von 0 bis 1, sofern min und max ihn nicht ändern. Text innerhalb dieser Elemente liefert einen Ersatzwortlaut, wenn der Balken nicht gezeichnet werden kann. Ergänze neben beiden Anzeigen eine erklärende Beschriftung, damit Benutzer wissen, was die jeweilige Zahl misst.

Wichtige Erkenntnisse

  • Der Ausgangswert eines mehrzeiligen Textfelds ist sein Inhalt; rows und cols legen nur seine sichtbare Größe fest.
  • Ein select sendet die Werte ausgewählter Optionen und kann eine feste Auswahl erzwingen.
  • Eine datalist schlägt Antworten vor, erlaubt aber auch anderen Text.
  • Verwende progress für den Fortschritt einer Aufgabe und meter für einen Messwert in einem bekannten Bereich.

1.4 Sichtbare Beschriftungen und hilfreiche Formularhinweise

Ein Feld braucht einen Namen, der sichtbar bleibt, während der Benutzer es ausfüllt. Ein verbundenes <label> gibt dem Steuerelement außerdem einen zugänglichen Namen für Screenreader und macht seinen Text zu einem größeren anklickbaren Ziel. Hinweise erklären Regeln, die die Beschriftung allein nicht vermitteln kann.

Die Beschriftung mit dem Steuerelement verbinden
<label for="email">Email address</label>
<input id="email" name="email" type="email" autocomplete="email">

Das for der Beschriftung stimmt mit der id des Eingabefelds überein, einschließlich der Groß- und Kleinschreibung. Der name steuert die Übermittlung und muss nicht identisch sein. Jede id muss auf der Seite eindeutig sein. Zeigt for="email" auf einen name, aber nicht auf eine passende id, sieht die Beschriftung normal aus, ist aber nicht verbunden.

Eine weitere Möglichkeit ist, das Eingabefeld in die Beschriftung einzuschließen:

<label>
  <input type="checkbox" name="news">
  Send me the monthly newsletter
</label>

Diese implizite Verbindung ist für eine kurze Beschriftung eines Kontrollkästchens nützlich. Ein explizites Paar aus for und id funktioniert auch, wenn Beschriftung und Steuerelement im HTML getrennt stehen.

Beschriftungen und Beispiele getrennt halten

Ein Platzhalter wie „name@example.com“ verschwindet, sobald die Eingabe beginnt. Er kann außerdem schwer lesbar sein und ist kein zuverlässiger zugänglicher Name. Behalte die sichtbare Beschriftung bei; verwende einen Platzhalter nur als kurzes Beispiel, wenn er hilft.

Kennzeichne Pflichtfelder mit Worten, etwa „Name (Pflichtfeld)“, oder erkläre ein Sternchen einmal über dem Formular. Farbe allein kann nicht allen vermitteln, was erforderlich ist. Erkläre ein Format, bevor Benutzer versuchen, die Eingabe abzusenden.

<label for="pw">Password (required)</label>
<input id="pw" name="password" type="password"
       required minlength="8" aria-describedby="pw-hint">
<p id="pw-hint">Use at least 8 characters.</p>

aria-describedby verweist auf die id des Hinweises. Es ergänzt den Hinweis als Beschreibung nach dem Namen des Felds; es ersetzt nicht die Beschriftung.

Eine Gruppe von Steuerelementen benennen
<fieldset>
  <legend>Delivery speed</legend>
  <label><input type="radio" name="speed" value="standard"> Standard</label>
  <label><input type="radio" name="speed" value="express"> Express</label>
  <label><input type="radio" name="speed" value="pickup"> Pickup</label>
</fieldset>

Die Gruppenbeschriftung gibt die gemeinsame Frage an; jede Beschriftung benennt eine Antwort. Eine Formularfeldgruppe kann auch zusammengehörige Adressfelder gruppieren. Setze die Gruppenbeschriftung an den Anfang. disabled an einem fieldset deaktiviert die darin enthaltenen Steuerelemente, ausgenommen Steuerelemente innerhalb seines ersten legend-Elements. Halte gewöhnliche Formularsteuerelemente außerhalb des legend-Elements, damit diese Ausnahme nicht zu Überraschungen führt.

Browser beim Ausfüllen bekannter Angaben unterstützen

autocomplete beschreibt den Zweck von Informationen über den Benutzer. Zu den Werten gehören name, email, tel, street-address, postal-code, country-name, bday, new-password, current-password und one-time-code. Zutreffende Zweckangaben unterstützen das Eintragen gespeicherter Daten und das WCAG-2.2-Kriterium 1.3.5, Eingabezweck bestimmen (AA). autocomplete="off" ist eine Aufforderung; Browser können weiterhin gespeicherte Passwörter anbieten.

Verwende für ein optionales Telefonfeld die Beschriftung „Telefonnummer (optional)“ zusammen mit type="tel", name="phone" und autocomplete="tel". Klicke auf die Beschriftung, um den Fokus zu prüfen, und gehe dann mit der Tabulatortaste durch das Formular. Teste jede Beschriftung auf diese Weise, auch Beschriftungen neben Kontrollkästchen und Optionsfeldern.

Wichtige Erkenntnisse

  • Eine sichtbare Beschriftung braucht eine tatsächliche Verbindung zu ihrem Steuerelement.
  • for stimmt mit einer eindeutigen id überein; für die Übermittlung wird name verwendet.
  • Eine Gruppenbeschriftung benennt eine Formularfeldgruppe, während Beschriftungen deren einzelne Steuerelemente benennen.
  • Verbinde sichtbare Hinweise mit aria-describedby und kennzeichne Pflichtfelder im Text.
  • Verwende zutreffende Zwecke für die automatische Vervollständigung und prüfe das Formular mit Mausklicks und Tastatur.
2

Prüfe Antworten vor dem Absenden

Der Browser kann fehlende Antworten, Texte mit falscher Länge, Werte außerhalb eines Bereichs und Eingaben erkennen, die einem festen Format nicht entsprechen. Grundlage dieser Prüfungen sind der Eingabetyp und HTML-Attribute. Vollziehe nach, wie mehrere Regeln zusammenwirken, auch wenn ein leerer Wert erlaubt ist. Klare Hinweise helfen beim Korrigieren einer Eingabe; Prüfungen auf dem Server bleiben nötig, weil sich Browserregeln umgehen lassen.

2.1 Pflichtfelder und Textlänge

Die integrierte Validierung prüft beim Absenden die Steuerelemente eines Formulars. Ein Steuerelement, das die Prüfung nicht besteht, verhindert das Absenden; der Browser setzt den Fokus auf das erste ungültige Feld und gibt eine Meldung in seiner eigenen Sprache aus. Den genauen Wortlaut wählt der Browser. Um ihn zu ändern, ist JavaScript nötig.

Eine Antwort verlangen

required bedeutet, dass ein Steuerelement einen Wert braucht. Bei einem Textfeld besteht eine leere Zeichenfolge die Prüfung nicht. Bei einem Kontrollkästchen bedeutet required, dass genau dieses Kästchen angekreuzt sein muss, etwa zur Annahme von Bedingungen. Bei Optionsfeldern mit demselben Namen bedeutet required an einem Feld, dass ein Feld der Gruppe ausgewählt sein muss. Ein select als Pflichtfeld mit Einfachauswahl und leerer erster Option benötigt eine nicht leere Auswahl.

<label for="username">Username (required)</label>
<input id="username" name="username"
       required minlength="4" maxlength="12">

Der Browser kombiniert diese Regeln. Das Feld muss eine Antwort enthalten, und vom Benutzer eingegebener Text muss die Längenbegrenzungen einhalten. Ohne type entsteht das normale Texteingabefeld.

Die eingegebenen Zeichen zählen

minlength legt die kleinste zulässige Länge fest und maxlength die größte. Leer- und Satzzeichen zählen mit. Die Länge wird in UTF-16-Codeeinheiten gemessen, sodass manche Emojis als zwei zählen; gewöhnliche lateinische Buchstaben zählen jeweils als eins.

In diesem Beispiel hat „Li“ zwei Zeichen und unterschreitet das Minimum. „Lina“ hat vier und besteht die Prüfung. „mountainhiker“ hat 13 Zeichen. Bei gewöhnlicher Eingabe stoppt der Browser nach dem zwölften Zeichen, sodass „mountainhike“ bleibt. Die Breite eines Textfelds legt diese Grenze nicht fest.

Vorhandensein und Länge als verschiedene Regeln behandeln

Ein optionales Feld mit minlength="4" darf leer sein. Die Mindestlänge wird geprüft, sobald der Benutzer einen Wert eingibt. Ergänzt du required, besteht auch eine leere Eingabe die Prüfung nicht. Das ist bei einem optionalen Spitznamen wichtig: Ein Benutzer kann ihn weglassen, ein angegebener Spitzname braucht aber trotzdem genügend Zeichen.

required ist ein boolesches Attribut. Seine Anwesenheit schaltet es ein, auch bei required="false". Um das Feld optional zu machen, entferne das Attribut. Dieselbe Regel zur Anwesenheit gilt für viele andere HTML-Schalter.

Was diese Prüfungen nicht entscheiden

Eine Folge von Leerzeichen ist in einem Textfeld trotzdem Inhalt. required akzeptiert sie daher, und die Leerzeichen zählen auch zur Länge. Eine Regel, die ein sichtbares Zeichen verlangt, benötigt ein passendes Muster oder eine Prüfung auf dem Server. Behaupte gegenüber Benutzern nicht, dass required allein eine aussagekräftige Antwort garantiert.

Längenbeschränkungen hängen auch davon ab, wie der Wert eingegeben wurde. Ein in HTML geschriebener Ausgangswert oder ein von einem Skript zugewiesener Wert wird durch minlength oder maxlength nicht allein deshalb als fehlerhaft markiert, weil er zu kurz oder zu lang ist. Ein korrekter Standardwert bleibt wichtig, auch wenn die gewöhnliche Eingabe begrenzt ist.

Um dieses Feld zu prüfen, versuche, es leer abzusenden, und gib dann zwei Buchstaben, vier Buchstaben und mehr als 12 Buchstaben ein. Jeder Versuch prüft eine andere Regel für sich. Wenn der Browser die Eingabe an der Grenze stoppt, lies den tatsächlich im Feld verbliebenen Wert, statt anzunehmen, dass die gesamte versuchte Eingabe akzeptiert wurde.

Wichtige Erkenntnisse

  • required und Längenbegrenzungen lösen unterschiedliche Probleme.
  • Boolesche Attribute bleiben auch dann eingeschaltet, wenn sie mit dem Wert "false" geschrieben werden.
  • Leerzeichen zählen als Inhalt; manche Emojis verwenden zwei UTF-16-Codeeinheiten.
  • Ein Pflicht-Optionsfeld macht eine Auswahl in seiner Gruppe mit gemeinsamem Namen erforderlich.

2.2 Schranken und zulässige Schritte

Ein Zahlen- oder Datumswert kann das richtige Format haben und trotzdem ungeeignet sein. min und max legen seine Schranken fest; step legt fest, welche Schrittweiten innerhalb dieser Schranken erlaubt sind. Eine Zahl muss beide Prüfungen bestehen.

Den Wertebereich festlegen
<label for="weight">Parcel weight (kg)</label>
<input id="weight" name="weight" type="number"
       min="0.5" max="30" step="0.5">

Die Endpunkte sind eingeschlossen. Werte von 0,5 bis 30 kg liegen im Bereich, müssen aber auch auf Schritten von einem halben Kilogramm liegen. Beginnend bei 0,5 ergeben sich 0,5; 1; 1,5 und so weiter bis 30: 60 zulässige Werte. Eine Eingabe von 31 überschreitet das Maximum; 2,25 liegt im Bereich, besteht aber die Prüfung der Schrittweite nicht.

Vor dem Zählen den Ausgangspunkt finden

Die Schritte werden von min aus gezählt, wenn es vorhanden ist. Andernfalls werden sie von einem gültigen HTML-Attribut value aus gezählt und danach von der Standardschrittbasis des Typs. Für number ist diese Standardbasis 0. Die Standardschrittweite ist 1.

Bei min="1" step="2" sind 1, 3, 5, 7 und so weiter zulässig. Vier besteht die Prüfung nicht, obwohl es ein Vielfaches von zwei ist, weil die Folge bei eins beginnt. Bei min="0.5" ohne step-Attribut beträgt die Schrittweite weiterhin eins: 0,5; 1,5 und 2,5 bestehen die Prüfung, 1 und 2 dagegen nicht.

Wenn weder min noch ein value-Attribut eine andere Basis vorgibt, akzeptiert ein Zahlenfeld standardmäßig ganze Zahlen. Verwende step="0.01" für Schritte von einem Hundertstel oder step="any", um die Prüfung der Schrittweite aufzuheben. any hebt weder das Minimum noch das Maximum auf.

Die richtigen Einheiten für Datum und Uhrzeit verwenden
TypStandardschrittweiteBeispiel für eine Schranke
number oder range1max="30"
date1 Tagmin="2026-06-01"
time60 Sekundenmax="17:00"

Ein Datumsfeld mit min="2026-06-01" max="2026-08-31" akzeptiert Datumsangaben in diesem geschlossenen Intervall. Schreibe die Attribute im Übermittlungsformat, auch wenn die Auswahlhilfe eine andere Reihenfolge des Datums anzeigt.

Für Termine verwendet type="time" min="09:00" max="17:00" step="900" pro Schritt 900 Sekunden oder 15 Minuten. Die Folge beginnt um 09:00 Uhr und endet um 17:00 Uhr. Es gibt 32 Intervalle und 33 auswählbare Uhrzeiten, einschließlich beider Endpunkte.

Eingabe und gespeicherten Wert unterscheiden

Manche lokalisierten Browser erlauben die Dezimaleingabe „2,5“, übermitteln aber 2.5. Text, der keine Zahl ist, wird je nach Browser blockiert oder lässt den Zahlenwert leer. Ein optionales leeres Eingabefeld ist weiterhin zulässig, sofern required nicht vorhanden ist.

Ein range-Schieberegler bleibt innerhalb seines zulässigen Bereichs und springt auf die Schritte, sodass Benutzer nicht auf dieselben Bereichs- und Schrittweitenfehler wie bei einer eingegebenen Zahl stoßen. Davon unabhängig werden nicht leere email- und url-Felder auch ohne required einer Typprüfung unterzogen: Eine optionale Antwort wird nicht gültig, wenn sie in einem falschen Format eingegeben wird.

Wichtige Erkenntnisse

  • Prüfe die Schranken und die Einhaltung der Schrittweite getrennt.
  • Bestimme die Schrittbasis in dieser Reihenfolge: min, HTML-Attribut value, dann die Standardbasis des Typs.
  • step="any" hebt die Prüfung der Schrittweite auf, lässt aber andere Einschränkungen bestehen.
  • Schrittweiten für Uhrzeiten werden in Sekunden angegeben; Schrittweiten für Datumsangaben in Tagen.
  • Zähle die Endpunkte mit, wenn du die Anzahl zulässiger Uhrzeiten bestimmst.

2.3 Feste Muster und hilfreiche Rückmeldungen

Ein Muster ist nützlich, wenn eine Organisation ein genaues Textformat festlegt, etwa für einen Produktcode. Der Browser prüft den gesamten nicht leeren Wert anhand des Musters. Erkläre das Format neben dem Feld, damit Benutzer es einhalten können, bevor ein Fehler erscheint.

Ein kleines Muster erstellen
<label for="code">Product code (required)</label>
<input id="code" name="code" required
       pattern="[A-Z]{3}-[0-9]{4}" aria-describedby="code-hint">
<p id="code-hint">Use 3 capital letters, a hyphen, and 4 digits (ABC-1234).</p>

[A-Z] steht für einen lateinischen Großbuchstaben und {3} wiederholt ihn genau dreimal. Der Bindestrich außerhalb der Zeichengruppen steht für sich selbst. [0-9]{4} verlangt vier Ziffern. „ABC-1234“ besteht die Prüfung. „abc-1234“, „ABC1234“ und „ABC-12345“ verletzen jeweils einen anderen Teil der Regel.

MusterteilBedeutung
[A-Za-z]Ein lateinischer Grundbuchstabe
{2,5}Zwei bis fünf Wiederholungen
+Eine oder mehr Wiederholungen
?Vorheriges Element optional
(cm|mm)Eine der beiden Alternativen, cm oder mm

Muster werden mit dem gesamten Wert abgeglichen, sodass zusätzlicher Text an einem der Enden die Prüfung nicht besteht. Ergänze nicht die umgebenden Schrägstriche, die bei regulären Ausdrücken in JavaScript verwendet werden. pattern gilt für textähnliche Eingabefelder wie text, search, tel, email, url und password, nicht für ein mehrzeiliges Textfeld. Leere Werte überspringen die Musterprüfung; required behandelt eine leere Antwort.

Satzzeichen für sich selbst sorgfältig schreiben

Zeichen wie ., + und ? haben besondere Bedeutungen. Stelle ihnen einen umgekehrten Schrägstrich voran, wenn sie für sich selbst stehen sollen: \. steht für einen Punkt. Innerhalb einer Zeichengruppe verlangen moderne HTML-Muster dies auch bei Satzzeichen wie einem Bindestrich, der für sich selbst stehen soll: [a-z0-9\-]. Dieser Bindestrich unterscheidet sich von dem, der den Bereich a-z festlegt.

Ein ungültiges Muster wird ignoriert. Andere Regeln, darunter required und Typprüfungen, werden weiterhin ausgeführt. Teste ein Muster sowohl mit Eingaben, die die Prüfung bestehen, als auch mit solchen, die sie nicht bestehen. Wenn ein Formular einen erwarteten Wert absendet, zeigt das noch nicht, dass das Muster irgendetwas zurückweist.

Regel und Fehler erklären

Halte sichtbaren Hinweistext neben dem Steuerelement bereit. Ein title kann zu manchen Browsermeldungen beitragen; die Formatanweisung muss neben dem Feld sichtbar bleiben. Vermeide starre Muster für Namen, Telefonnummern oder Postleitzahlen, sofern das akzeptierte Format nicht tatsächlich feststeht; gültige internationale Antworten können sich stark unterscheiden.

CSS bietet :valid und :invalid für den aktuellen Validierungszustand eines Felds. :user-invalid verzögert den ungültigen Zustand bis zur Benutzerinteraktion und verhindert so, dass ein unberührtes Formular überall im Fehlerstil erscheint. Ergänze Farben durch Worte oder ein Symbol, damit der Unterschied auch ohne Farbwahrnehmung sichtbar bleibt.

Festlegen, wann Prüfungen stattfinden

novalidate am Formular überspringt beim Absenden die Validierung durch den Browser. formnovalidate an einer Sendeschaltfläche überspringt sie für diese Schaltfläche. Das kann „Entwurf speichern“ neben einer normalen Schaltfläche „Senden“ ermöglichen. Browserprüfungen lassen sich auch über Entwicklerwerkzeuge entfernen oder durch eine direkte Anfrage umgehen. Der Server muss eingehende Daten erneut prüfen, bevor er ihnen vertraut.

Wichtige Erkenntnisse

  • Ein Muster prüft den gesamten nicht leeren Wert; required behandelt das Fehlen einer Antwort.
  • Prüfe feste Organisationscodes mit Mustern und erkläre ihr Format sichtbar.
  • Ein fehlerhaftes Muster wird ignoriert, während andere Einschränkungen weiterhin gelten.
  • Gestalte Validierungszustände mit mehr als nur Farbe.
  • Eine übersprungene oder umgangene Browserprüfung macht die serverseitige Validierung unverzichtbar.
  • formnovalidate wirkt auf eine Sendeschaltfläche; novalidate wirkt auf das Formular.
3

Erstelle Tabellen, die ihre Daten erklären

Eine Datenzelle erhält ihre Bedeutung durch ihre Zeile und Spalte. Mit HTML-Tabellen kannst du diese Beziehungen ausdrücken, sodass Menschen einen Wert zusammen mit den erklärenden Überschriften lesen können. Beginne mit einer Tabellenbeschriftung und einfachen Kopfzellen und ergänze Zeilengruppen oder verbundene Zellen nur, wenn die Daten sie benötigen. Wenn du das Raster abzählst und jeden Wert mit seinen Kopfzellen verbindest, bleibt die Tabelle sowohl beim Vorlesen als auch beim Betrachten nützlich.

3.1 Zeilen, Kopfzellen und ein klarer Tabellentitel

Verwende eine Tabelle, wenn ein Wert sowohl von seiner Zeile als auch von seiner Spalte abhängt: etwa bei einem Trainingsprotokoll, einem Stundenplan oder einem Vergleich von Messwerten. Verwende CSS für das Seitenlayout. Ein Layout aus Tabellenzellen erzeugt für Screenreader irreführende Beziehungen zwischen Zeilen und Spalten und passt sich schlecht an schmale Bildschirme an.

Die Struktur aus den Daten aufbauen

<table> enthält die Tabelle, <tr> eine Zeile, <th> eine Kopfzelle und <td> eine Datenzelle. Die Zellen werden innerhalb jeder Zeile von links nach rechts geschrieben. Eine fett formatierte Datenzelle bleibt eine Datenzelle; verwende <th>, um eine Überschrift auszuzeichnen.

<table>
  <caption>Running log, week 12</caption>
  <thead>
    <tr>
      <th scope="col">Day</th>
      <th scope="col">Distance (km)</th>
      <th scope="col">Time (min)</th>
    </tr>
  </thead>
  <tbody>
    <tr><th scope="row">Monday</th><td>5.0</td><td>28</td></tr>
    <tr><th scope="row">Wednesday</th><td>7.5</td><td>45</td></tr>
    <tr><th scope="row">Saturday</th><td>10.0</td><td>62</td></tr>
  </tbody>
  <tfoot>
    <tr><th scope="row">Total</th><td>22.5</td><td>135</td></tr>
  </tfoot>
</table>

Die Tabellenbeschriftung ist das erste Element innerhalb der Tabelle. Sie sagt den Lesern, was die ganze Tabelle beschreibt, bevor sie auf deren Werte stoßen. Eine Überschrift in der Nähe kann visuell helfen, aber die Tabellenbeschriftung verbindet den Titel mit der Tabelle selbst.

Jeden Wert mit seinen Überschriften verbinden

scope="col" besagt, dass eine Kopfzelle für die darunterliegende Spalte gilt. scope="row" besagt, dass sie für die Zeile gilt. Der Wert 7,5 gehört daher zur Zeile „Wednesday“ (Mittwoch) und zur Spalte „Distance (km)“ (Strecke in Kilometern). Ein Screenreader kann diese vollständige Bedeutung statt einer einzelnen Zahl ansagen.

Schreibe Einheiten in die Spaltenüberschriften, damit sie durchgehend gelten. Jede Strecke ist hier in Kilometern angegeben, jede Zeit in Minuten. Die Gesamtstrecke ergibt sich aus 5,0; 7,5 und 10,0 und beträgt 22,5 km. Die Zeiten 28, 45 und 62 ergeben 135 min.

Jeder Gruppe eine Aufgabe geben

<thead> gruppiert Kopfzeilen, <tbody> die Hauptdaten und <tfoot> die Zusammenfassung nach dem Tabellenkörper. Diese Gruppen beschreiben die Struktur und bieten Ansatzpunkte für CSS. Browser fügen ein <tbody> um gewöhnliche Zeilen ein, die direkt innerhalb einer Tabelle geschrieben stehen. Daher kann die angezeigte Struktur vom ungruppierten Quelltext abweichen.

Bedeutung und Aussehen prüfen

Jede Zeile umfasst hier drei Spalten. Lässt du eine Datenzelle weg, weiß der Browser nicht, welcher Wert innerhalb der Zeile fehlt: Spätere Zellen können unter der falschen Überschrift stehen. Schreibe die Zellen an ihre richtigen Positionen und verwende „0“ für eine bekannte Null oder „entfällt“, wenn ein Wert nicht zutrifft. Eine unerklärte leere Zelle lässt Leser im Unklaren.

Tabellen haben standardmäßig keine Rahmen. Für einfache Linien wende border: 1px solid auf die Zellen und border-collapse: collapse auf die Tabelle an. Das alte border-Attribut ist veraltet. Ein Rahmen macht das Raster sichtbar, kann aber weder fehlende Beziehungen zu Kopfzellen herstellen noch einen falsch platzierten Wert korrigieren.

Wichtige Erkenntnisse

  • Tabellen drücken Beziehungen zwischen Zeilen und Spalten in Daten aus.
  • Verwende th für Kopfzellen und td für Daten; eine visuelle Fettformatierung liefert keine Semantik.
  • Setze eine Tabellenbeschriftung an den Anfang und verwende scope, um einfache Kopfzellen zuzuordnen.
  • Gruppiere Zeilen mit thead, tbody und tfoot und prüfe, welche Spalten jede Zeile abdeckt.
  • Schreibe Einheiten in Kopfzellen und mache die Bedeutung fehlender Daten deutlich.

3.2 Verbundene Zellen und mehrstufige Überschriften

Verbundene Zellen ermöglichen es, dass ein Eintrag mehrere Positionen im Raster abdeckt. Dadurch ändert sich, wie viele neue Zellen eine Zeile benötigt. Plane daher die belegten Positionen, bevor du die Tags schreibst.

Die Spalten in einem Stundenplan mit verbundenen Zellen zählen

Betrachte drei Spalten: „Zeit“, „Montag“ und „Dienstag“. Um 09:00 Uhr steht am Montag „Formulare“ und am Dienstag „Tabellen“. Um 10:00 Uhr beginnt am Montag „Validierung“, was sich bis in die Zeile 11:00 Uhr fortsetzt. Am Dienstag stehen „Medien“ um 10:00 Uhr und „Einbettungen“ um 11:00 Uhr. Um 12:00 Uhr umfasst „Mittagspause“ beide Tage.

<tr>
  <th scope="row">10:00</th>
  <td rowspan="2">Validation</td><td>Media</td>
</tr>
<tr>
  <th scope="row">11:00</th><td>Embeds</td>
</tr>
<tr>
  <th scope="row">12:00</th><td colspan="2">Lunch break</td>
</tr>

Um 11:00 Uhr ist die Position für Montag bereits von oben belegt. Neu hinzu kommen nur die Kopfzelle für die Uhrzeit und der Eintrag für Dienstag. Eine weitere Zelle für Montag würde den letzten Wert in eine vierte Spalte verschieben. Um 12:00 Uhr umfasst die Kopfzelle für die Uhrzeit eine Spalte und die Zelle für die Mittagspause zwei, insgesamt also drei.

colspan überspannt Spalten horizontal; rowspan überspannt Zeilen vertikal. Beide haben standardmäßig den Wert eins. Zähle beim Prüfen einer Zeile die Positionen, die durch neue Zellen und durch Überspannungen aus früheren Zeilen belegt sind.

Spaltengruppen beschreiben

<colgroup> und <col> beschreiben Spalten und stehen nach der Tabellenbeschriftung, aber vor den Zeilengruppen. <col span="2"> steht für zwei Spalten. Über diese Elemente lässt sich nur eine begrenzte Auswahl von Stilen anwenden, darunter Hintergründe, Breite, Sichtbarkeit und Rahmen nach den jeweiligen Regeln für Tabellenrahmen. Sie ersetzen keine Kopfzellen.

Steht „Strecke (km)“ über zwei Spalten namens „Geplant“ und „Tatsächlich“, definiere diese beiden Spalten als Gruppe. Gib der oberen Kopfzelle colspan="2" scope="colgroup" und den unteren Kopfzellen scope="col". Die Überspannung steuert die Breite, während scope die Beziehung zur Kopfzelle angibt. Ein Geltungsbereich für eine Spaltengruppe benötigt eine passende Spaltengruppe in der Tabellenstruktur.

Kopfzellen bei Bedarf ausdrücklich zuordnen

Für Beziehungen, die scope nicht eindeutig ausdrücken kann, gib Kopfzellen eindeutige IDs und führe sie im headers-Attribut der Datenzelle auf:

<table>
  <caption>Monday distance plan</caption>
  <colgroup></colgroup>
  <colgroup span="2"></colgroup>
  <thead>
    <tr>
      <th rowspan="2" scope="col">Day</th>
      <th id="distance" colspan="2" scope="colgroup">Distance (km)</th>
    </tr>
    <tr>
      <th id="planned" scope="col">Planned</th>
      <th id="actual" scope="col">Actual</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th id="mon" scope="row">Monday</th>
      <td headers="mon distance planned">8</td>
      <td headers="mon distance actual">7.5</td>
    </tr>
  </tbody>
</table>

Der geplante Wert 8 verweist auf Montag, Strecke (km) und Geplant. Der tatsächliche Wert 7,5 hat dieselben Zeilen- und Gruppenkopfzellen, verweist aber auf Tatsächlich. Die durch Leerzeichen getrennten Namen müssen mit den IDs der Kopfzellen übereinstimmen, nicht mit deren sichtbarem Wortlaut.

Das abbr einer Kopfzelle kann einen kürzeren Wortlaut für Wiederholungen bereitstellen, etwa <th abbr="Distance">Distance covered in kilometers</th>. Manche Screenreader verwenden diese Kurzform. Machen viele Überspannungen oder drei Überschriftenebenen eine Tabelle schwer verständlich, teile die Daten in einfachere Tabellen mit eigenen Tabellenbeschriftungen auf. Vermeide es, eine Tabelle in die Zelle einer anderen Tabelle zu verschachteln.

Wichtige Erkenntnisse

  • Zähle belegte Rasterpositionen einschließlich Überspannungen aus früheren Zeilen.
  • Ein colspan ersetzt benachbarte Zellen; ein rowspan belegt Positionen in späteren Zeilen.
  • Verwende Spaltengruppen mit scope="colgroup" für gruppierte Überschriften.
  • Das headers einer Zelle führt die IDs ihrer Kopfzellen auf.
  • Bevorzuge einfachere Tabellen, wenn verbundene Zellen und Überschriftenebenen die Beziehungen verdecken.
4

Füge Medien hinzu, die Menschen ansehen und anhören können

Ein Wiedergabeprogramm ist nur ein Teil nutzbarer Medien. Besucher benötigen außerdem eine unterstützte Datei, eine Möglichkeit zum Starten und Stoppen sowie Zugang zu den Informationen, wenn Ton oder Bild nicht verfügbar sind. Baue das Wiedergabeprogramm ausgehend von der Mediendatei auf: Reserviere seinen Platz, biete geeignete Quellen an und ergänze geprüfte Untertitel oder ein Transkript. Ladehinweise und sinnvolle Wiedergabeeinstellungen helfen Besuchern außerdem, Zeit und Datenverbrauch eines Videos im Blick zu behalten.

4.1 Wiedergabeprogramme, Wiedergabe und Downloadmöglichkeiten

<video> und <audio> verknüpfen Mediendateien mit einer Seite. Der Browser lädt diese separaten Dateien herunter; das Video oder der Ton wird nicht im HTML gespeichert. Mit controls werden die browser­eigenen Steuerelemente für Wiedergabe, Pause, Zeitleiste und Lautstärke angezeigt.

<video src="intro.mp4" controls width="640" height="360"
       poster="intro-poster.jpg" preload="metadata"></video>
<audio src="episode-12.mp3" controls></audio>

Ohne Wiedergabesteuerung hat ein audio-Element kein sichtbares Wiedergabeprogramm und ein Video keine sichtbare Wiedergabeschaltfläche. Eine Seite müsste Steuerelemente per Skript bereitstellen, um Benutzern diese Bedienung zu ermöglichen. Behalte für eine einfache Seite die nativen Wiedergabesteuerelemente bei.

Die richtige Form reservieren

width und height nehmen einfache Zahlen in CSS-Pixeln an. Sie reservieren Platz, während ein Video lädt, und verringern so Bewegungen der Seite. Ein Video mit 1920 × 1080 hat bei einer angezeigten Breite von 640 die passende Höhe 360: Die Breite wurde durch drei geteilt, also muss auch die Höhe durch drei geteilt werden. Eine anders geformte Box für das Wiedergabeprogramm behält die Proportionen des Bildes bei und ergänzt leere Streifen.

poster stellt vor der Wiedergabe ein Standbild bereit. Ohne dieses Bild wartet der Browser auf Mediendaten, bevor er das erste Einzelbild anzeigen kann. Das Vorschaubild ist nützlich, wenn wenig oder nichts vom Video vorgeladen wird.

Entscheiden, wie viel vorgeladen wird
WertLadehinweis
noneDas Medium nicht vorladen
metadataInformationen wie Dauer und Abmessungen abrufen
autoDer Browser darf die ganze Datei herunterladen

Dies sind Hinweise: Der Browser kann sie übergehen. Auch die automatische Wiedergabe hat Vorrang vor dem Vorladen. none ist für lange Medien nützlich, die viele Besucher nicht ansehen werden; Metadaten helfen, die Dauer anzuzeigen, ohne absichtlich den ganzen Clip abzurufen.

Wiedergabeschalter verstehen

controls, autoplay, muted, loop und playsinline sind boolesche Attribute. Ihre Anwesenheit schaltet sie ein: Auch muted="false" startet stummgeschaltet. Entferne das Attribut, um es auszuschalten.

Automatische Wiedergabe mit Ton wird je nach Browserberechtigungen und Einstellungen häufig blockiert, bis der Benutzer interagiert. Stummgeschaltetes Video wird häufiger zugelassen; Safari auf dem iPhone benötigt dafür zusätzlich playsinline. Ein stummer Clip in Endlosschleife kann autoplay muted loop playsinline verwenden. loop startet den Clip nach seinem Ende erneut. Verlass dich nicht auf automatische Wiedergabe, um wesentliche Informationen zu vermitteln.

Automatischer Ton kann einen Screenreader überlagern, und Bewegung kann ablenken. Das WCAG-2.2-Kriterium 1.4.2 (A) verlangt eine Möglichkeit, automatisches Audio, das länger als drei Sekunden läuft, zu pausieren oder zu stoppen oder seine Lautstärke unabhängig zu regeln. Kriterium 2.2.2 (A) behandelt automatisch bewegte Inhalte, die länger als fünf Sekunden neben anderen Inhalten laufen, sofern sie nicht wesentlich sind. Stelle eine Möglichkeit zum Pausieren bereit; native Steuerelemente bieten sie bei diesen Wiedergabeprogrammen.

Den Datenaufwand schätzen

Ein zweiminütiger Clip mit 5 Megabit pro Sekunde enthält 600 Megabit. Geteilt durch acht ergibt das vor zusätzlichem Übertragungsaufwand etwa 75 Megabyte. Kürzere Clips und ein passender Hinweis zum Vorladen verringern unnötige Übertragungen. Das iframe-Wiedergabeprogramm einer gehosteten Plattform kann die Auslieferung vom Server deiner Website weg verlagern, aber Besucher laden die Medien beim Ansehen weiterhin herunter.

Wichtige Erkenntnisse

  • Behalte native Wiedergabesteuerelemente bei, damit Besucher die Wiedergabe starten, pausieren und einstellen können.
  • Verwende Zahlen für Breite und Höhe, um Platz für ein Video zu reservieren.
  • Vorladen ist ein Hinweis; automatische Wiedergabe kann ihn außer Kraft setzen.
  • Boolesche Attribute werden durch ihre Anwesenheit eingeschaltet.
  • Plane Beschränkungen der automatischen Wiedergabe ein und gib Benutzern Kontrolle über automatischen Ton oder automatische Bewegung.
  • Ein Wiedergabeprogramm einer Plattform ändert, wer die Medien ausliefert; Besucher müssen sie weiterhin herunterladen.

4.2 Alternative Quellen und zuverlässige Ausweichmöglichkeiten

Eine Dateinamenerweiterung einer Mediendatei bezeichnet ihren Container, also die Dateistruktur, die Bild und Ton enthält. Codecs komprimieren und dekodieren die darin enthaltenen Datenströme. Ein Browser muss sowohl den Container als auch seine Codecs unterstützen; die Erweiterung .mp4 allein sagt nicht aus, was darin enthalten ist.

Geeignete Formate wählen

MP4 mit H.264-Video und AAC-Audio ist auf gängigen aktuellen Systemen eine breit kompatible Wahl. WebM mit VP9- oder AV1-Video und Opus-Audio wird ebenfalls breit unterstützt und kann die Größe bei vorgegebener Qualität verringern. Für Audio ist MP3 eine breit unterstützte Wahl, wenn du nur ein Format anbietest. Die Unterstützung hängt weiterhin vom tatsächlichen Codec und vom System des Benutzers ab. Teste daher die Dateien selbst.

Quellen nach Priorität anbieten
<video controls width="640" height="360" poster="tour.jpg">
  <source src="tour.webm" type="video/webm">
  <source src="tour.mp4" type="video/mp4">
  <p>Your browser cannot play this video.
    <a href="tour.mp4">Download the tour video (MP4)</a>.
  </p>
</video>
<p><a href="tour.mp4">Download the tour video (MP4)</a></p>

Der Browser probiert die untergeordneten Quellen der Reihe nach und verwendet die erste abspielbare. Hier wird WebM bevorzugt; MP4 bietet einen anderen Weg, falls WebM nicht abgespielt werden kann. Lass src am <video> selbst weg, wenn du untergeordnete Quellen verwendest. Ein src am Medienelement hat Vorrang und die Liste der untergeordneten Quellen wird ignoriert.

Der type ist ein MIME-Typ, der die Datei beschreibt. Er ermöglicht dem Browser, ein nicht unterstütztes Format zu überspringen, ohne zuerst Mediendaten abzurufen. Ein falscher Typ kann dazu führen, dass eine abspielbare Datei übersprungen wird. Die Angabe muss daher zur tatsächlichen Datei passen. Dieselbe inkompatible Kodierung unter einem anderen Namen aufzuführen, schafft keine kompatible Alternative.

Die Ausweichmöglichkeit verfügbar halten

Inhalt innerhalb von <video> ist Ersatzinhalt für einen Browser, der das video-Element nicht erkennt. Ein moderner Browser, der es erkennt, aber keine Quelle abspielen kann, zeigt diesen inneren Absatz nicht als allgemeine Fehlermeldung an. Der separate Downloadlink außerhalb des Wiedergabeprogramms bleibt in diesem Fall verfügbar. Ein Ersatzlink und alternative Quellen beheben unterschiedliche Fehler.

Dasselbe Muster auf Audio anwenden
<audio controls>
  <source src="episode-12.opus" type="audio/ogg; codecs=opus">
  <source src="episode-12.mp3" type="audio/mpeg">
  <p>Your browser cannot play this audio.</p>
</audio>
<p><a href="episode-12.mp3">Download episode 12 (MP3)</a></p>

Diese erste Datei verwendet einen Ogg-Container mit Opus-Audio. Die MP3-Alternative verwendet audio/mpeg, den korrekten MIME-Typ für MP3. Der Browser kann dem Ersatzabsatz nicht entnehmen, dass er die Datei wechseln soll; die source-Elemente bieten diese Auswahl. Prüfe auf der Seite die Pfade, die tatsächlichen Dateiformate und die Wiedergabe und stelle anschließend gesondert sicher, dass der externe Downloadlink funktioniert.

Wichtige Erkenntnisse

  • Für die Wiedergabe müssen sowohl Container als auch Codecs unterstützt werden.
  • Untergeordnete Quellen werden der Reihe nach ausprobiert, wenn das Medienelement kein src hat.
  • Zutreffende MIME-Typen helfen Browsern, eine abspielbare Quelle auszuwählen.
  • Halte für fehlgeschlagene Quellen in modernen Browsern einen Downloadlink außerhalb des Wiedergabeprogramms bereit.

4.3 Untertitel, Transkripte und Zeitangaben in WebVTT

Medieninformationen benötigen einen anderen Zugang, wenn jemand sie nicht hören oder sehen kann. Untertitel für gehörlose und schwerhörige Menschen enthalten Sprache, Angaben zu den Sprechenden und bedeutsame Geräusche. Weitere Untertitel verschriftlichen oder übersetzen Dialoge für Menschen, die den Ton hören, aber Hilfe beim Verstehen benötigen. Ein Transkript gibt Sprache und wichtige Geräusche als Text in der Nähe des Wiedergabeprogramms oder über einen eindeutig bezeichneten Link in der Nähe wieder. Eine Audiodeskription beschreibt wichtige visuelle Informationen.

Eine Untertitelspur einbinden
<video controls>
  <source src="intro.mp4" type="video/mp4">
  <track kind="captions" src="intro.en.vtt"
         srclang="en" label="English" default>
</video>
<p><a href="intro-transcript.html">Read the introduction transcript</a></p>

Setze <track> nach die Quellen. src verweist auf eine Textspurdatei, kind bezeichnet ihren Zweck, srclang die Sprache und label liefert den Menütext des Wiedergabeprogramms. Eine Spur für weitere Untertitel muss srclang haben; gib es auch für Untertitel für gehörlose und schwerhörige Menschen an. Nur eine Textspur sollte default tragen. Ohne kind gilt standardmäßig subtitles.

Die Untertiteldatei schreiben

WebVTT ist UTF-8-Text, der mit der Erweiterung .vtt gespeichert wird. Die erste Zeile lautet WEBVTT, gefolgt von einer Leerzeile. Jeder Cue hat anschließend eine Zeitangabenzeile und seinen Text; vor dem nächsten Cue steht eine Leerzeile. Vor der Zeitangabe eines Cues kann eine optionale Kennung stehen.

WEBVTT

00:00:01.000 --> 00:00:04.500
MAYA: Welcome to the workshop.

00:00:05.000 --> 00:00:07.250
[door closes]

00:00:07.500 --> 00:00:11.000
MAYA: Let's build our first form.

Der erste Cue dauert 3,5 Sekunden, der zweite 2,25 Sekunden und der dritte 3,5 Sekunden. Der Geräusch-Cue vermittelt etwas Hörbares, obwohl niemand spricht.

Die Syntax der Zeitangaben genau einhalten

Minuten und Sekunden verwenden zwei Stellen; Millisekunden verwenden drei nach einem Punkt. Stunden können weggelassen werden: 01:05.000 bedeutet eine Minute und fünf Sekunden. Das Ende muss nach dem Anfang liegen. Eine Leerzeile beendet einen Cue. Halte daher seinen gesamten Text ohne Leerzeile in der Mitte zusammen.

SRT verwendet Zeitangaben mit Komma wie 00:00:01,000; eine Textspur benötigt stattdessen WebVTT. Für die Umwandlung sind die WebVTT-Kopfzeile und Zeitangaben mit Punkt nötig; außerdem müssen die übrigen Cues auf gültige Syntax geprüft werden. Das Umbenennen einer .srt-Erweiterung wandelt ihren Inhalt nicht um.

Bereitstellung und Barrierefreiheit prüfen

Halte die Textspur auf demselben Ursprung wie die Seite: dasselbe URL-Schema, derselbe Host und derselbe Port. Eine Textspur von einem anderen Ursprung benötigt eine passende crossorigin-Einstellung am Video und die Erlaubnis dieses Servers. Andernfalls kann auch eine korrekte Datei nicht geladen werden.

Das WCAG-2.2-Kriterium 1.2.2 (A) verlangt Untertitel für gehörlose und schwerhörige Menschen bei aufgezeichnetem Video mit Ton, vorbehaltlich der Ausnahme für Medienalternativen. Kriterium 1.2.1 (A) verlangt eine Alternative für aufgezeichnete reine Audioinhalte, etwa ein Transkript für einen Podcast. Prüfe automatische Untertitel vor der Veröffentlichung auf Namen, Fachbegriffe, Sprecherwechsel und Geräusche.

Weitere Textspurarten sind descriptions, chapters und metadata. Browser-Wiedergabeprogramme zeigen diese gewöhnlich nicht als normale Untertitel an. Setze wesentliche sichtbare Anweisungen nicht in eine Metadaten-Textspur und erwarte dann, dass sie auf dem Bildschirm erscheinen.

Wichtige Erkenntnisse

  • Untertitel für gehörlose und schwerhörige Menschen enthalten bedeutsame Geräusche und Angaben zu Sprechenden; weitere Untertitel konzentrieren sich auf den Dialog.
  • Binde eine .vtt-Datei mit track ein und gib ihren Zweck und ihre Sprache an.
  • Ein WebVTT-Cue benötigt gültige Zeitangaben mit Punkt, Text und eine trennende Leerzeile.
  • Prüfe die Richtigkeit der Untertitel und biete in der Nähe einen Zugang zum Transkript.
  • Textspuren von einem anderen Ursprung benötigen sowohl Browsereinstellungen als auch eine Erlaubnis des Servers.
5

Binde eine andere Seite mit Bedacht ein

Ein iframe gibt einer anderen Webseite ein Fenster innerhalb deiner eigenen Seite. Diese Seite bringt ihren eigenen Code, ihre eigenen Berechtigungen und ihr eigenes Ladeverhalten mit und hängt von ihrem Anbieter ab. Gib dem Fenster einen hilfreichen Namen und eine passende Größe und wähle dann, wann es lädt und was es tun darf. Wenn du eine Einbettung als separates Dokument verstehst, erklärt das blockierte Frames, Datenschutzentscheidungen und warum die Stile deiner Seite nicht in das Wiedergabeprogramm einer anderen Website hineinwirken.

Ein <iframe> ist ein Inlineframe: Er zeigt eine separate Webseite innerhalb der aktuellen Seite. Dieses Dokument hat sein eigenes HTML, CSS und eigene Skripte. Die Stile deiner Seite können die Größe des Frames festlegen, gestalten aber nicht die Inhalte eines anderen Dokuments darin.

Mit einem klar bezeichneten Frame in passender Größe beginnen
<iframe src="https://maps.example.com/venue"
        title="Map of the venue"
        width="600" height="400" loading="lazy"></iframe>
<p><a href="https://maps.example.com/venue">Open the venue map</a></p>

src nennt die zu ladende Seite. Der Titel sagt einem Screenreader-Benutzer, was sich im Frame befindet, bevor er ihn betritt. „Karte des Veranstaltungsorts“ beschreibt seinen Zweck; „iframe“ oder „Inhalt“ tut das nicht. Der direkte Link bietet einen anderen Zugang, falls der Browser des Besuchers den Frame blockiert.

width und height nehmen einfache Zahlen in CSS-Pixeln an. Ohne diese Angaben ist der Frame standardmäßig 300 × 150 CSS-Pixel groß. Browser zeichnen außerdem einen Standardrahmen. Gestalte ihn mit CSS statt mit dem veralteten Attribut frameborder.

Bereitgestellten Einbettungscode anpassen

Karten- und Videodienste bieten gewöhnlich ein Einbettungsfragment über ihre Teilen-Funktion an. Prüfe nach dem Einfügen die URL, verbessere den Titel, prüfe die Abmessungen und entferne veraltete Darstellungsattribute. Eine iframe-URL ist die Adresse einer Seite oder eines Wiedergabeprogramms eines Dienstes, nicht unbedingt die einer direkten Mediendatei.

Verwende HTTPS für die eingebettete Adresse. Ein HTTP-Frame innerhalb einer HTTPS-Seite ist aktiver gemischter Inhalt und wird blockiert. Das bloße Schreiben eines Titels oder Ändern der Framegröße kann eine unsichere URL nicht zum Laden bringen.

Zu einem geeigneten Zeitpunkt laden

loading="lazy" verzögert das Laden eines Frames, bis er sich in der Nähe des Viewports befindet. Das spart anfänglichen Aufwand bei einer Karte weit unten auf der Seite. Der Standardwert eager beginnt sofort mit dem Laden. Lade eine hervorgehobene Einbettung am Seitenanfang sofort, damit Besucher nicht auf ihren Hauptinhalt warten. Lazy Loading ändert den Zeitpunkt; der Netzwerkkontakt entfällt nicht, wenn der Frame schließlich lädt.

Damit ein Wiedergabeprogramm in seinen Container passt, kann CSS seine Breite auf 100 % setzen und seine Form erhalten:

iframe.video-player {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 0;
}

Wende class="video-player" auf den betreffenden iframe an. Die HTML-Abmessungen liefern weiterhin Ausgangsinformationen, während CSS die angezeigte Größe steuert.

Die Verweigerung eines Anbieters erkennen

Eine Website kann die Einbettung in Frames über den HTTP-Antwortheader X-Frame-Options oder eine Content-Security-Policy-Regel frame-ancestors untersagen. Der Browser zeigt möglicherweise einen leeren Frame oder einen Fehler. Diese Beschränkungen helfen, Clickjacking zu verhindern, bei dem eine täuschende eingebettete Seite Klicks abfängt, die für etwas anderes bestimmt sind.

Das HTML deiner Seite kann die Verweigerung der anderen Website nicht außer Kraft setzen. Verwende die erlaubte Einbettungsadresse des Anbieters, falls er eine anbietet; stelle andernfalls einen gewöhnlichen Link bereit. Behalte diesen Link auch für spätere Ausfälle: Entfernt oder verschiebt ein Anbieter seinen Inhalt, kann ein unveränderter iframe auf deiner Seite aufhören zu funktionieren.

Wichtige Erkenntnisse

  • Ein iframe enthält ein separates Dokument mit eigenen Stilen und Skripten.
  • Gib jedem Frame einen beschreibenden Titel und eine sinnvolle Größe.
  • Verwende Lazy Loading für Einbettungen außerhalb des sichtbaren Bereichs und HTTPS-URLs.
  • Ein Anbieter kann die Einbettung in Frames verweigern; biete in diesem Fall einen direkten Link an.

5.2 Berechtigungen, Datenschutz und Elementauswahl

Eine Einbettung eines Drittanbieters kontaktiert ihren Anbieter, wenn der eingebettete Inhalt lädt, noch bevor ein Besucher die Wiedergabe startet. Diese Anfrage gibt Informationen wie eine IP-Adresse preis und kann Cookies einschließen. Entscheide, ob die Seite diesen Kontakt sofort benötigt und welchen Zugriff das eingebettete Dokument braucht.

Den Kontakt bei Bedarf verzögern

Lazy Loading verzögert das Laden eines Frames außerhalb des sichtbaren Bereichs, bis er sich in der Nähe des Bildschirms befindet. Eine Vorschau, die eine Einbettung erst nach einem Klick lädt, gibt Besuchern eine unmittelbarere Wahl. Manche Dienste bieten außerdem Modi mit erweitertem Datenschutz an. Ein Frame von derselben Website kontaktiert nicht zwangsläufig einen anderen Anbieter; direkt eingefügtes srcdoc vermeidet den Abruf einer separaten Seite, wobei Ressourcen, auf die dieses HTML verweist, weiterhin Netzwerkanfragen auslösen können.

Das Verhalten des Dokuments mit sandbox einschränken
<iframe src="https://quiz.example.com/start"
        title="Practice quiz"
        sandbox="allow-scripts allow-forms"></iframe>

Ein leeres sandbox wendet alle Beschränkungen an, darunter das Blockieren von Skripten, Formularübermittlungen und Pop-ups sowie die Zuweisung eines undurchsichtigen Ursprungs. Schlüsselwörter heben ausgewählte Beschränkungen auf. Hier darf das Quiz Skripte ausführen und Formulare absenden, aber allow-popups wurde nicht gewährt. Ergänze nur Schlüsselwörter, die der Inhalt benötigt; andernfalls kann eine kopierte Berechtigungsliste nützliche Beschränkungen aufheben.

allow-same-origin lässt das Dokument seinen normalen Ursprung behalten. Kombiniere es nicht mit allow-scripts für eingebettete Inhalte von deinem eigenen Ursprung: Diese Kombination kann dem Dokument erlauben, seine Sandbox zu entfernen. Eine Sandbox bedeutet außerdem nicht, dass ein Frame keine Netzwerkanfragen stellt.

Browserfunktionen getrennt gewähren

allow ist eine Berechtigungsrichtlinie für Funktionen wie Vollbild, Bild-in-Bild, Kamera und Mikrofon. Ein Videowiedergabeprogramm kann allow="fullscreen; picture-in-picture" anfordern. Es benötigt nicht allein deshalb Kamerazugriff, weil es Video enthält. Das ältere allowfullscreen gewährt ebenfalls Zugriff auf Vollbild.

Sandbox-Schlüsselwörter steuern das Verhalten des Dokuments; Funktionsberechtigungen beantworten eine andere Frage. Die Gewährung von Vollbild allein erlaubt einer Seite in einer Sandbox weder, ein Formular abzusenden noch ein Skript auszuführen.

Referrer und direkt eingefügten Inhalt steuern

referrerpolicy="no-referrer" lässt die Adresse der verweisenden Seite in der Anfrage weg. Bei der üblichen Standardrichtlinie sendet eine HTTPS-Anfrage an einen anderen Ursprung den Ursprung statt des vollständigen Pfads; Anfragen an eine weniger sichere Verbindung senden keinen Referrer. Dies steuert einen HTTP-Header, nicht alle Informationen, die ein Anbieter erhält.

srcdoc stellt das HTML des Frames direkt bereit und hat Vorrang vor src:

<iframe title="Message preview" sandbox
        srcdoc="<p>Preview of your message</p>"></iframe>

Die Sandbox hält diese kleine Vorschau eingeschränkt. Bei allgemeineren HTML-Vorschauen ist darauf zu achten, welche Ressourcen und welcher HTML-Quelltext erlaubt werden.

Das Element passend zur Ressource auswählen
RessourceElement
Bildimg
Audio- oder Videodateiaudio oder video
Eine Webseite, Karte oder das Wiedergabeprogramm eines Dienstesiframe
Externes Dokument wie ein PDFobject oder embed

<object> kann Ersatzinhalt enthalten, etwa einen Downloadlink, falls die Ressource nicht angezeigt werden kann. Alte Plug-in-Inhalte wie Flash funktionieren in gewöhnlichen aktuellen Browsern nicht mehr; Adobe beendete die Unterstützung für Flash Player Ende 2020. Halte direkte Links neben wichtigen Einbettungen bereit und prüfe regelmäßig, ob der Anbieter die Inhalte noch bereitstellt.

Wichtige Erkenntnisse

  • Beim Laden von Inhalten eines Drittanbieters wird dessen Server schon vor der Wiedergabe kontaktiert.
  • Eine Sandbox beginnt mit Beschränkungen; Schlüsselwörter stellen ausgewählte Möglichkeiten wieder her.
  • Halte allow-scripts und allow-same-origin bei Inhalten desselben Ursprungs getrennt.
  • Verwende allow für benötigte Browserfunktionen und die Referrer-Richtlinie für die verweisende Adresse.
  • Wähle Medienelemente für Mediendateien und iframes für separate Seiten.

Webformulare: Beispiele

5 Interaktive Lektionen

1

Erstelle ein Anmeldeformular für einen Workshop

20 Schritte
Wähle und verbinde Steuerelemente und verfolge dann, welche Werte ein Anmeldeformular sendet.
  1. 1
    EinführungBeginne mit den benötigten Antworten

    Für eine Workshop-Anmeldung werden ein Name, Kontaktdaten, die Auswahl einer Veranstaltung, optionale Interessen und eine Nachricht benötigt. Jede Antwort braucht ein passendes Steuerelement und eine Beschriftung.

    Baue das Formular schrittweise auf: Entscheide, wohin es Daten sendet, wähle die Steuerelemente und verbinde dann Beschriftungen und Hinweise. Du prüfst sowohl, was ein Besucher eingeben kann, als auch, was beim empfangenden Programm ankommt.

  2. 2
    ErklärungWähle Ziel und Methode

    Verwende <form action="/registrations" method="post">, um eine Anmeldung an die empfangende URL zu senden. POST setzt die Antworten in den Nachrichtenkörper der Anfrage und eignet sich für eine Übermittlung, bei der gespeicherte Daten entstehen.

    Die Verbindung benötigt weiterhin HTTPS zur Verschlüsselung. Eine Methode allein macht die Informationen nicht vertraulich, und das HTML speichert die Anmeldung nicht; das übernimmt das empfangende Programm.

  3. 3
    BeispielGib der Antwort einen Datenschlüssel

    Beginne mit <input id="attendee" name="attendee">. Gibt der Besucher „Nora“ ein, steuert das Steuerelement attendee=Nora bei.

    Der name sagt dem empfangenden Programm, um welche Antwort es sich handelt. Die id identifiziert das Feld auf der Seite. Entfernst du den Namen, kann ein funktionsfähig aussehendes Feld zurückbleiben, das nichts zur Übermittlung beiträgt. Eine spätere Beschriftung wird über die id verbunden.

  4. 4
    HerausforderungSage voraus, welche Felder gesendet werden

    Ein Formular enthält <input name="guest" value="Nora">, <input name="notes" value=""> und ein nicht angekreuztes Kontrollkästchen namens updates. Welche Felder steuern Daten bei?

    ---reveal---

    Die Texteingabefelder steuern guest=Nora und notes= bei. Das nicht angekreuzte Kontrollkästchen steuert kein Paar bei. Ein leerer Textwert unterscheidet sich von einem ausgelassenen Kontrollkästchen: Der eine benennt ein Feld ohne Text, das andere fehlt in den übermittelten Daten.

  5. 5
    TippGestalte das Absenden bewusst

    Ergänze <button type="submit">Register</button>. Eine Schaltfläche innerhalb eines Formulars sendet dieses standardmäßig ab. Ein ausdrücklich angegebener Typ macht daher die Absicht klar.

    Ergänzt du später eine Schaltfläche für eine Aktion per Skript, verwende type="button". Eine Zurücksetzschaltfläche stellt Ausgangswerte wieder her und kann alle Eingaben des Besuchers löschen. Auch das Drücken der Eingabetaste in einem einzeiligen Feld kann das Absenden auslösen. Das Formular muss daher funktionieren, ohne auf einen Mausklick angewiesen zu sein.

  6. 6
    ErklärungWähle Eingabetypen für Kontaktdaten

    Verwende type="email" für die E-Mail-Adresse und type="tel" für eine optionale Telefonnummer. Diese Typen beeinflussen die Tastatur auf Smartphones, ihre Prüfungen unterscheiden sich aber.

    Email prüft die Syntax, nicht aber, ob das Postfach existiert. Tel gibt kein Telefonformat vor. Ein Passwortfeld verbirgt Zeichen auf dem Bildschirm, benötigt beim Absenden aber weiterhin HTTPS. Wähle Typen nach den Informationen, für die sie stehen, nicht nur nach der gewünschten Tastatur.

  7. 7
    BeispielBelasse Codes als Text

    Angenommen, der Workshop sendet Mitgliedern einen Zifferncode. Verwende dafür type="text" inputmode="numeric". Der Hinweis auf den Ziffernblock erleichtert die Eingabe von Ziffern, ohne den Code zu einer Mengenangabe zu machen.

    Ein number-Eingabefeld kann Schaltflächen zum Erhöhen und Verringern sowie mengenbezogenes Verhalten bieten, was für eine Kennung ungeeignet ist. inputmode selbst prüft nichts; ein festes Codeformat kann eine separate Validierungsregel erhalten.

  8. 8
    ErklärungErstelle eine Optionsfeldgruppe für eine Veranstaltung

    Biete drei Veranstaltungen mit Optionsfeldern an, die alle name="session" verwenden. Gib ihnen Werte wie morning, afternoon und evening.

    Die Auswahl des Felds für den Nachmittag steuert session=afternoon bei und hebt die vorherige Auswahl in dieser Gruppe auf. Unterschiedliche Namen würden zulassen, dass mehrere Veranstaltungen ausgewählt bleiben. Verwende für unabhängige Interessen separate Kontrollkästchen, da Besucher möglicherweise mehr als ein Interesse wählen möchten.

  9. 9
    HerausforderungKorrigiere eine Gruppe für die Einfachauswahl

    Zwei Optionsfelder für Veranstaltungen verwenden name="morning" value="morning" und name="afternoon" value="afternoon". Ein Besucher kann beide auswählen. Welche Änderung macht sie zu einer Gruppe?

    ---reveal---

    Gib beiden denselben Namen, etwa name="session", und behalte ihre unterschiedlichen Werte bei. Gemeinsame Namen bilden die Gruppe; unterschiedliche Werte identifizieren die gewählte Veranstaltung. Würden nur ihre ids übereinstimmen, entstünden doppelte Kennungen auf der Seite, ohne die Gruppierung zu korrigieren.

  10. 10
    KernaussageUnterscheide ein angezeigtes Datum von seinem Wert

    Eine Datumsauswahl kann denselben Tag auf verschiedenen Geräten in unterschiedlicher Reihenfolge anzeigen. Ein Eingabefeld vom Typ date sendet dennoch einen festen Wert in der Reihenfolge Jahr-Monat-Tag, etwa 2026-11-18.

    Die Anzeige richtet sich nach den Regionseinstellungen des Besuchers; die Anfrage übernimmt diese Anzeigezeichenfolge nicht. Datums- und Uhrzeitfelder liefern keine Zeitzone. Ein Termin benötigt daher genügend sichtbaren Kontext, damit der Besucher weiß, für welchen Ort die Uhrzeit gilt.

  11. 11
    BeispielBiete eine verpflichtende feste Auswahl an

    Für eine lange Liste von Workshop-Orten eignet sich ein select. Gib ihm eine leere erste Option wie <option value="">Choose a location</option> und ergänze required am select.

    Jede tatsächliche Option hat ihren eigenen übermittelten Wert. Die Auswahl von <option value="studio">Main studio</option> sendet das unveränderliche Schlüssel-Wert-Paar location=studio, wenn das select den Namen location trägt. Die sichtbare Beschriftung kann ausführlich bleiben.

  12. 12
    BeispielLass Platz für eine Nachricht

    Ergänze <textarea id="message" name="message" rows="5"></textarea> für eine längere Antwort. Ausgangstext gehört zwischen seine Tags; die benachbarten Tags halten hier den Ausgangswert leer.

    Rows steuert die sichtbare Höhe, nicht die maximale Antwortlänge. Eine datalist erfüllt eine andere Aufgabe: Verbinde sie über das list eines Eingabefelds, um Vorschläge anzubieten und zugleich andere Antworten zu erlauben. Sie kann die festen Auswahlmöglichkeiten des select nicht erzwingen.

  13. 13
    HerausforderungWähle zwischen Vorschlägen und festen Antworten

    Der Workshop erlaubt nur seine aufgeführten Veranstaltungsorte, aber jemand ersetzt das select durch ein Textfeld, das mit einer datalist verbunden ist. Kann der Besucher nun einen nicht aufgeführten Ort eingeben?

    ---reveal---

    Ja. Eine datalist bietet Vorschläge, ohne die Antwort einzuschränken. Behalte ein select bei, wenn die zulässigen Werte genau den angebotenen Optionen entsprechen. Verwende eine datalist, wenn eine andere Antwort möglich bleiben soll, etwa eine Stadt, die nicht zu den häufigen Vorschlägen gehört.

  14. 14
    VerbindungZeige einen Status, ohne eine Antwort zu erfassen

    Ein Fortschrittsbalken kann zeigen, wie weit die Bearbeitung der Anmeldung fortgeschritten ist. Eine Messwertanzeige kann einen Messwert innerhalb eines bekannten Bereichs zeigen, etwa die Speichernutzung.

    Keines von beiden ist ein Steuerelement zur Antworteingabe. Verwende <progress value="70" max="100">70%</progress> für den Fortschritt einer Aufgabe und ergänze erklärenden Text. Verwende für eine Gruppe unabhängiger optionaler Interessen Kontrollkästchen, damit Besucher ihre Auswahl tatsächlich ändern und übermitteln können.

  15. 15
    BeispielVerbinde eine sichtbare Beschriftung

    Schreibe <label for="attendee">Name (required)</label> neben das Eingabefeld mit id="attendee". Der for-Wert muss genau mit der id übereinstimmen, einschließlich Groß- und Kleinschreibung.

    Ein Klick auf die Beschriftung sollte den Fokus auf das Eingabefeld setzen. Halte die Beschriftung während der Eingabe sichtbar; ein Platzhalter kann diese Aufgabe nicht erfüllen. Der Hinweis auf das Pflichtfeld sagt dem Benutzer, was erwartet wird, während das required-Attribut den Browser dazu bringt, das Vorhandensein eines Werts zu erzwingen.

  16. 16
    ErklärungGib den Auswahlmöglichkeiten eine gemeinsame Frage

    Umschließe die Optionsfelder für Veranstaltungen mit einem fieldset, dessen erstes Kindelement <legend>Session</legend> ist. Behalte für jede Option eine separate Beschriftung bei.

    Die Gruppenbeschriftung erklärt die gemeinsame Frage; die Beschriftungen benennen ihre Antworten. Bei Kontaktfeldern helfen zutreffende autocomplete-Werte wie name, email und tel dem Browser, gespeicherte Angaben anzubieten. Ein Formathinweis in der Nähe kann über aria-describedby mit der id des Hinweises verbunden werden.

  17. 17
    HerausforderungFinde die unterbrochene Verbindung der Beschriftung

    Der HTML-Quelltext enthält <label for="contact">Email</label> und <input id="email" name="contact" type="email">. Warum setzt ein Klick auf die Beschriftung den Fokus nicht auf dieses Eingabefeld?

    ---reveal---

    Der for-Wert stimmt mit dem name überein, aber nicht mit der id. Ändere ihn zu for="email" oder wähle eine neue passende eindeutige id. Der name dient bereits der Übermittlung, sodass eine Änderung der Beschriftungsverbindung den Datenschlüssel, den das empfangende Programm erwartet, nicht ändern muss.

  18. 18
    TippErgänze einen Upload nur mit der passenden Kodierung

    Wenn für die Anmeldung ein Dokument benötigt wird, ergänze ein type="file"-Eingabefeld mit Namen und setze enctype="multipart/form-data" am POST-Formular. Diese Kodierung überträgt die Dateiinhalte.

    Ein accept-Filter kann bei der Dateiauswahl helfen, legt aber nicht fest, was der Server erhält. Denke auch daran, dass deaktivierte Steuerelemente ausgelassen werden, während unterstützte schreibgeschützte Felder gesendet werden. Verwende das Attribut, das zum gewünschten Verhalten bei der Datenübermittlung passt.

  19. 19
    HerausforderungPrüfe das fertige Formular

    Ein beschriftetes Eingabefeld für den Ort bietet nur datalist-Vorschläge, und das E-Mail-Feld hat eine id, aber keinen name. Der Besucher muss einen aufgeführten Ort wählen und der Server benötigt die E-Mail-Adresse. Welche zwei Korrekturen sind nötig?

    ---reveal---

    Verwende ein select für die festen Ortsoptionen und ergänze einen name am E-Mail-Feld. Das select steuert, welche Optionen angeboten werden; der name gibt der E-Mail-Adresse einen Schlüssel für die Übermittlung. Eine sichtbare Beschriftung allein behebt keines der beiden Probleme.

  20. 20
    ZusammenfassungLies das Formular in zwei Richtungen

    Prüfe aus Sicht des Besuchers den Steuerelementtyp, die sichtbare Beschriftung, die gemeinsame Frage und die Hinweise. Prüfe aus Sicht des Servers Ziel, Methode, Namen und beigesteuerte Werte.

    Klicke dann auf jede Beschriftung und gehe mit der Tabulatortaste durch das Formular. Diese Prüfungen finden unterschiedliche Fehler: Ein Formular kann leicht auszufüllen sein und dennoch Daten auslassen oder korrekte Daten senden und dabei schwer verständlich sein.

2

Finde Fehler in den Validierungsregeln eines Formulars

15 Schritte
Vollziehe fehlende Werte, Längen, Schrittweiten und feste Formate nach, bevor du entscheidest, warum eine Übermittlung die Prüfung besteht oder nicht besteht.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungVollziehe die Prüfungen nach, die das Senden verhindern
  2. 2
    ErklärungVerlange einen Anzeigenamen
  3. 3
    BeispielTeste Vorhandensein und Länge getrennt
  4. 4
    HerausforderungMache das Feld optional
  5. 5
    TippTeste Benutzereingaben, nicht nur den Standardwert
  6. 6
    BeispielPrüfe zuerst den Wertebereich
  7. 7
    BeispielZähle von der tatsächlichen Basis aus
  8. 8
    HerausforderungUnterscheide Schrittweite und Maximum
  9. 9
    VerbindungLies Uhrzeit-Schrittweiten in Sekunden
  10. 10
    ErklärungPrüfe den festen Code der Organisation
  11. 11
    HerausforderungFinde ein ignoriertes Muster
  12. 12
    TippErkläre und zeige den Fehler
  13. 13
    KernaussageEine hilfreiche Prüfung ist keine Vertrauensgrenze
  14. 14
    HerausforderungUntersuche verschiedene Fehler
  15. 15
    ZusammenfassungVerwende eine kurze Liste für Grenztests
3

Erstelle und prüfe einen Veranstaltungsplan

11 Schritte
Erstelle eine lesbare Tabelle und verbinde dann Zellen, ohne das Raster oder die Beziehungen zu Kopfzellen zu beschädigen.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungPlane die Tabelle vor ihren Tags
  2. 2
    ErklärungBenenne die Tabelle und ihre Spalten
  3. 3
    BeispielSchreibe eine vollständige Datenzeile
  4. 4
    HerausforderungKorrigiere eine rein visuelle Überschrift
  5. 5
    TippHalte die Bedeutung leerer Zellen eindeutig
  6. 6
    BeispielLass eine Veranstaltung zwei Zeilen dauern
  7. 7
    HerausforderungZähle eine Zeile unter einem rowspan
  8. 8
    BeispielLass die Mittagspause beide Räume überspannen
  9. 9
    ErklärungVerbinde eine Zelle mit mehrstufigen Kopfzellen
  10. 10
    HerausforderungKorrigiere Ausrichtung und Bedeutung gemeinsam
  11. 11
    ZusammenfassungVerfolge einen Wert durch die Tabelle
4

Veröffentliche ein kurzes Video mit Untertiteln

17 Schritte
Erstelle ein natives Wiedergabeprogramm, biete alternative Dateien an und binde eine funktionierende WebVTT-Untertitelspur ein.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungVeröffentliche die Informationen ebenso wie die Datei
  2. 2
    BeispielReserviere Platz für ein Wiedergabeprogramm mit Steuerelementen
  3. 3
    ErklärungSetze einen Ladehinweis bewusst ein
  4. 4
    HerausforderungSchalte eine boolesche Einstellung aus
  5. 5
    TippErmögliche das Pausieren automatischer Medien
  6. 6
    ErklärungPrüfe Container und Codecs
  7. 7
    BeispielErgänze die bevorzugte Quelle zuerst
  8. 8
    HerausforderungFinde die ungenutzten Alternativen
  9. 9
    KernaussageHalte eine Ausweichmöglichkeit außerhalb des Wiedergabeprogramms bereit
  10. 10
    ErklärungWähle Untertitel für Informationen im Ton
  11. 11
    BeispielSchreibe den ersten Cue
  12. 12
    BeispielErgänze einen Cue für ein bedeutsames Geräusch
  13. 13
    BeispielBinde die Datei nach den Quellen ein
  14. 14
    HerausforderungWandle eine Zeitangabe korrekt um
  15. 15
    TippTeste die Textspur und das Transkript
  16. 16
    HerausforderungBehebe zwei getrennte Zugangsprobleme
  17. 17
    ZusammenfassungPrüfe den vollständigen Medienzugang
5

Prüfe die Einbettung einer Karte und eines Quiz

12 Schritte
Benenne einen Frame und lege seine Größe und sein Ladeverhalten fest. Beschränke ihn dann auf die Fähigkeiten, die sein Inhalt benötigt.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungBetrachte eine Einbettung als anderes Dokument
  2. 2
    BeispielBenenne die Karte vor dem Laden
  3. 3
    ErklärungVerzögere das Laden einer Karte unter dem Hauptinhalt
  4. 4
    TippUntersuche kopierten Einbettungscode
  5. 5
    HerausforderungErkenne die Einbettungsregel eines Servers
  6. 6
    ErklärungBeginne das Quiz mit Beschränkungen
  7. 7
    KernaussageBehalte Ursprung und Skripte unter Kontrolle
  8. 8
    HerausforderungGewähre dem Quiz nur, was es benötigt
  9. 9
    VerbindungUnterscheide Datenschutz von einem Referrer-Header
  10. 10
    ErklärungWähle ein Element für die tatsächliche Ressource
  11. 11
    HerausforderungPrüfe eine geänderte Einbettung
  12. 12
    ZusammenfassungPrüfe den Frame als kleine Abhängigkeit

Webformulare: Übungsaufgaben

40 Übungsfragen in 4 Sets

Set 1: Erfasse und sende die richtigen Antworten10 Übungsfragen

Frage 1 von 10

Ein ausgefülltes Eingabefeld hat id="visitor", aber keinen name. Warum fehlt sein Text in den übermittelten Formulardaten?
  1. Das Formular braucht POST, um Textfelder einzubeziehen.
  2. Das Eingabefeld braucht einen Namen als Datenschlüssel.
  3. Das Eingabefeld braucht required, um seinen Wert einzubeziehen.
  4. Die id muss mit der Adresse der empfangenden Seite übereinstimmen.
Antwort zeigenAntwort ausblenden
Antwort: B
Der Browser erstellt die übermittelten Daten aus Steuerelementen mit Namen, daher benötigt dieses Eingabefeld ein name-Attribut. Seine id identifiziert das Element auf der Seite und kann eine Beschriftung verbinden, liefert aber keinen Schlüssel für die Übermittlung. Eine Änderung der Anfrage von GET zu POST würde nicht dazu führen, dass dieses namenlose Steuerelement seinen Text beisteuert.

Frage 2 von 10

Eine Website erfasst einen Gerätecode wie „00482“. Welche Eingabeeinstellung passt zu dieser Kennung und schlägt zugleich einen Ziffernblock vor?
  1. type="number" step="1"
  2. type="range" min="0"
  3. type="tel" multiple
  4. type="text" inputmode="numeric"
Antwort zeigenAntwort ausblenden
Antwort: D
Der Gerätecode ist Text, der einen Gegenstand identifiziert. Ein Texteingabefeld erhält daher seine Funktion einschließlich führender Nullen. Der numerische Eingabemodus schlägt eine Zifferntastatur vor, ohne das Verhalten eines Zahlenfelds hinzuzufügen. Ein Zahlenfeld behandelt die Eingabe als Mengenangabe und kann Steuerelemente zum Erhöhen oder Verringern anzeigen.

Frage 3 von 10

Die Beschriftung verwendet for="address"; das E-Mail-Feld verwendet id="email" name="address". Welche einzelne Änderung verbindet diese Beschriftung, ohne den übermittelten Datenschlüssel zu ändern?
  1. Ändere die Beschriftung zu for="email".
  2. Ändere das Eingabefeld zu type="text".
  3. Ändere das Eingabefeld zu name="email".
  4. Ändere die Beschriftung zu name="address".
Antwort zeigenAntwort ausblenden
Antwort: A
Eine explizite Beschriftung wird über die id des Steuerelements verbunden, daher stellt for="email" die fehlende Übereinstimmung her. Der name kann address bleiben, sodass der vom empfangenden Programm erwartete Schlüssel erhalten bleibt. Eine Änderung des Namens allein würde die Beschriftung weiterhin auf eine id verweisen lassen, die nicht existiert.

Frage 4 von 10

Ein select für die Lieferung ist ein Pflichtfeld und seine erste ausgewählte Option ist <option value="">Choose delivery</option>. Was geschieht, wenn der Benutzer absendet, ohne eine andere Option zu wählen?
  1. Der sichtbare Aufforderungstext wird als Wert gesendet.
  2. Der Browser sendet die erste nicht leere Option.
  3. Die leere Auswahl verhindert das normale Absenden.
  4. Das select wird beim Absenden des Formulars ausgelassen.
Antwort zeigenAntwort ausblenden
Antwort: C
Das select als Pflichtfeld mit Einfachauswahl ist ungültig, solange seine leere erste Option ausgewählt bleibt. Daher wird das normale Absenden verhindert. Der Aufforderungstext wird nicht zum Wert, weil ausdrücklich ein leerer Wert angegeben wurde. Der Browser wählt nicht unbemerkt eine andere Lieferart für den Benutzer.

Frage 5 von 10

Ein GET-Formular richtet sich an /lookup und enthält ein Texteingabefeld name="term" mit „css grid“, ein nicht angekreuztes Kontrollkästchen name="archived" value="yes" und ein deaktiviertes Eingabefeld name="region" value="east". Welche Anfrage-URL ergibt sich?
  1. /lookup?term=css+grid&archived=no&region=east
  2. /lookup?term=css+grid
  3. /lookup?term=css+grid&archived=&region=
  4. /lookup?term=css+grid&region=east
Antwort zeigenAntwort ausblenden
Antwort: B
Das Texteingabefeld mit Namen steuert seinen aktuellen Wert bei, wobei das Leerzeichen als + kodiert wird. Das nicht angekreuzte Kontrollkästchen und das deaktivierte Eingabefeld werden beide ausgelassen, sodass nur term=css+grid bleibt. Ein deaktivierter Wert wird nicht gesendet, nur weil er im HTML steht, und ein nicht angekreuztes Kästchen erzeugt keinen automatischen Wert no.

Frage 6 von 10

Zwei Optionsfelder bieten „Online“ und „Vor Ort“ an, aber beide bleiben ausgewählt. Ihre Namen sind online und onsite. Wie sollte die Gruppierung geändert werden?
  1. Gib beiden einen gemeinsamen Namen und unterschiedliche Werte.
  2. Gib beiden eine gemeinsame id und unterschiedliche Namen.
  3. Gib beiden required und behalte unterschiedliche Namen.
  4. Gib beiden einen gemeinsamen Wert und unterschiedliche Namen.
Antwort zeigenAntwort ausblenden
Antwort: A
Optionsfelder gehören durch einen gemeinsamen Namen zu einer Auswahlgruppe. Gib ihnen denselben Namen, etwa attendance, und unterschiedliche Werte, die die beiden Arten der Teilnahme bezeichnen. Required steuert, ob eine Gruppe eine Auswahl benötigt; es führt Optionsfelder mit unterschiedlichen Namen nicht zu einer Gruppe zusammen.

Frage 7 von 10

Ein Feld für eine Stadt bietet häufige Vorschläge, muss aber auch andere eingegebene Städte akzeptieren. Welche Anordnung von Steuerelementen passt?
  1. Ein select mit den häufigen Städten als Optionen.
  2. Eine Optionsfeldgruppe mit den häufigen Städten.
  3. Ein Eingabefeld mit einer datalist für Vorschläge.
  4. Ein Textfeld mit einem Muster, das auf die vorgeschlagenen Städte begrenzt ist.
Antwort zeigenAntwort ausblenden
Antwort: C
Eine datalist schlägt einem verbundenen Texteingabefeld Werte vor, ohne die Eingabe auf diese Vorschläge zu begrenzen. Das passt zu einer offenen Frage nach einer Stadt mit einigen häufigen Antworten. Ein select würde die gewöhnliche Auswahl auf seine Optionen beschränken. Würde die datalist durch ein select ersetzt, änderte sich also, was Besucher eingeben können.

Frage 8 von 10

Ein optionales Textfeld hat minlength="5". Was geschieht bei seiner Längenprüfung, wenn der Benutzer es leer lässt?
  1. Sie schlägt fehl, weil null kleiner als fünf ist.
  2. Sie schlägt fehl, weil minlength required einschließt.
  3. Sie misst stattdessen den Platzhaltertext.
  4. Sie wird bestanden, weil das Feld leer ist.
Antwort zeigenAntwort ausblenden
Antwort: D
Die Mindestlänge lehnt ein leeres optionales Feld nicht ab, daher wird diese Längenprüfung bestanden. Sobald der Benutzer Text eingibt, muss der angegebene Wert die Mindestlänge erfüllen. Required ist eine separate Regel für das Vorhandensein; ergänze sie, wenn auch das Weglassen verhindert werden soll, statt von minlength eine verpflichtende Antwort zu erwarten.

Frage 9 von 10

Ein Dokumentformular verwendet GET mit einem Dateieingabefeld mit Namen und Standardkodierung. Eine Hilfsschaltfläche sendet ebenfalls das Formular ab. Welches Änderungspaar ermöglicht einen normalen Upload von Dateiinhalten und verhindert, dass die Hilfsschaltfläche absendet?
  1. POST mit Multipart-Kodierung verwenden; Hilfsschaltfläche auf button setzen.
  2. POST mit Standardkodierung verwenden; Hilfsschaltfläche auf reset setzen.
  3. GET mit Multipart-Kodierung behalten; Hilfsschaltfläche auf button setzen.
  4. POST mit Multipart-Kodierung verwenden; Typ der Hilfsschaltfläche entfernen.
Antwort zeigenAntwort ausblenden
Antwort: A
Ein Upload von Dateiinhalten benötigt POST und enctype="multipart/form-data", während eine nicht absendende Hilfsschaltfläche type="button" benötigt. Diese Änderungen beheben unterschiedliche Verhaltensweisen. POST mit der Standardkodierung überträgt weiterhin keine Dateiinhalte, und ohne Typ behält die Hilfsschaltfläche innerhalb eines Formulars ihr normales Absendeverhalten.

Frage 10 von 10

Ein Texteingabefeld enthält required="false" minlength="3". Der Autor möchte es optional machen, wobei jede eingegebene Antwort mindestens drei Zeichen lang sein soll. Was sollte geändert werden?
  1. Minlength entfernen, aber required="false" behalten.
  2. Required durch required="optional" ersetzen.
  3. Required entfernen und minlength="3" behalten.
  4. Minlength durch maxlength="3" ersetzen.
Antwort zeigenAntwort ausblenden
Antwort: C
Entferne required vollständig und behalte die Mindestlänge bei. Required ist boolesch: Seine Anwesenheit schaltet die Einstellung auch dann ein, wenn der Wert „false“ lautet. Bleibt minlength erhalten, ist das Weglassen erlaubt, während eine zu kurze angegebene Antwort weiterhin abgelehnt wird. Eine Änderung zu maxlength würde eine andere Regel durchsetzen.
Set 2: Prüfe Wertebereiche, Muster und Tabellenstruktur10 Übungsfragen

Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.

Frage 1 von 10

Welche Einheit verwendet step="300" bei einem Eingabefeld vom Typ time?
  1. Tage
  2. Minuten
  3. Millisekunden
  4. Sekunden
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

Ein Zahlenfeld hat min="2" max="14" step="4". Welcher eingegebene Wert erfüllt alle diese Einschränkungen?
  1. 4
  2. 8
  3. 10
  4. 14,5
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Ein Uhrzeitfeld hat min="08:20" max="10:20" step="1200". Wie viele nicht leere Uhrzeitwerte erfüllen diese Einstellungen?
  1. 7
  2. 6
  3. 8
  4. 9
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Ein verpflichtender Code verwendet pattern="[A-Z]{2}-[0-9]{3}". Welcher eingegebene Code besteht die Prüfung?
  1. „PZ-7314“
  2. „PZ-731“
  3. „PZ-73“
  4. „PZ731“
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Ein E-Mail-Feld ist ein Pflichtfeld und hat das ungültige Muster "[". Ein Benutzer gibt „ravi“ ein. Was geschieht beim normalen Absenden?
  1. Der Wert wird gesendet, weil das Muster ignoriert wird.
  2. Der Wert wird gesendet, weil required erfüllt ist.
  3. Das Senden wird nur wegen des fehlerhaften Musters verhindert.
  4. Das Senden wird verhindert, weil die E-Mail-Syntaxprüfung weiterhin fehlschlägt.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Eine Tabellenzeile führt Temperatur und Luftfeuchtigkeit eines Sensors auf. Welches Element sollte diesen Sensor am Anfang der Zeile benennen?
  1. <td scope="row">
  2. <th scope="row">
  3. <th scope="col">
  4. <caption scope="row">
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Eine Messtabelle hat die Kopfzellen „Probe“, „Masse (kg)“ und „Zeit (min)“. Eine Zeile des Tabellenkörpers lautet <tr><th scope="row">B</th><td>18</td></tr> und soll eine nicht verfügbare Masse und eine Zeit von 18 Minuten zeigen. Wie sollte die Zeile korrigiert werden?
  1. Setze 18 in die erste Zelle und entferne die Zeilenkopfzelle.
  2. Ergänze colspan="2" an der Zelle mit 18.
  3. Füge vor der Zelle mit 18 eine Massezelle mit „nicht verfügbar“ ein.
  4. Ersetze die Zeitüberschrift durch eine leere Datenzelle.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Eine Tabelle mit vier Spalten hat die Kopfzellen „Zeit“, „A“, „B“ und „C“. In einer Zeile reicht eine Zelle in A in die nächste Zeile. Diese nächste Zeile benötigt eine Kopfzelle für die Uhrzeit und einen gemeinsamen Eintrag für B und C. Welche neuen Zellen sollte sie enthalten?
  1. Ein th für die Uhrzeit und ein td mit colspan="2".
  2. Ein th für die Uhrzeit und ein td mit colspan="3".
  3. Ein th für die Uhrzeit und zwei td mit jeweils colspan="2".
  4. Ein th für die Uhrzeit, ein leeres td und ein td mit colspan="2".
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Ein stummer Clip in Endlosschleife hat Wiedergabesteuerelemente und muted="false". Der Autor möchte die anfängliche Stummschaltung ausschalten. Welche Änderung bewirkt das?
  1. Ergänze autoplay="false" am Video.
  2. Entferne controls vom Video.
  3. Setze muted="off" am Video.
  4. Entferne muted vom Video.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Eine MP3-Datei wird als Audioquelle angeboten. Welchen MIME-Typ sollte ihre source angeben?
  1. audio/mp3
  2. audio/mpeg
  3. video/mpeg
  4. audio/ogg
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Set 3: Mache Medien und eingebettete Seiten nutzbar10 Übungsfragen

Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.

Frage 1 von 10

Welches Attribut macht die browser­eigenen Wiedergabesteuerelemente an einem audio-Element sichtbar?
  1. controls
  2. poster
  3. preload
  4. playsinline
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

Ein Video führt untergeordnete Quellen erst für WebM und dann für MP4 auf, hat aber auch ein eigenes src="preview.mp4". Warum bestimmt die Reihenfolge der untergeordneten Quellen nicht die Wiedergabe?
  1. MP4-Dateien haben in aktuellen Browsern immer Vorrang vor WebM.
  2. Die untergeordneten Quellen brauchen einen gemeinsamen Namen als Liste.
  3. Das src des übergeordneten Elements hat Vorrang vor untergeordneten Quellen.
  4. Die erste Quelle muss den Dateipfad des übergeordneten Elements wiederholen.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Ein Untertitel wird von 00:00:12.250 bis 00:00:16.000 angezeigt. Wie lange ist dieser Cue sichtbar?
  1. 4,25 Sekunden
  2. 3,75 Sekunden
  3. 3,25 Sekunden
  4. 4,75 Sekunden
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Ein Video führt untergeordnete Quelldateien und eine Textspur von einem anderen Ursprung auf. Das Video hat außerdem src="old.mp4". Die Textspur enthält gültigen WebVTT-Text, aber ihr Server sendet keine Erlaubnis für den Zugriff von einem anderen Ursprung und das Video hat keine crossorigin-Einstellung. Welche vollständige Korrektur ermöglicht die vorgesehene Auswahl aus den untergeordneten Quellen und die Textspur vom anderen Ursprung?
  1. Übergeordnetes src behalten; crossorigin am Video und Servererlaubnis aktivieren.
  2. Übergeordnetes src behalten; Textspur vor die untergeordneten Quellen setzen.
  3. Übergeordnetes src entfernen; default zur Textspur ergänzen, ohne den Server zu ändern.
  4. Übergeordnetes src entfernen; crossorigin am Video und Servererlaubnis aktivieren.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Ein Browser unterstützt video, kann aber die angebotene Datei nicht abspielen. Das Video hat ein eigenes src, das auf diese Datei verweist, sowie eine untergeordnete Quelle, die der Browser abspielen kann. Der einzige Downloadlink befindet sich innerhalb des Videos. Welche Änderungen am HTML-Quelltext ermöglichen diese Alternative und eine zuverlässige sichtbare Ausweichmöglichkeit?
  1. Übergeordnetes src entfernen; Downloadlink außerhalb des Videos bereithalten.
  2. Übergeordnetes src behalten; Downloadlink außerhalb des Videos platzieren.
  3. Übergeordnetes src entfernen; Downloadlink nur innerhalb des Videos lassen.
  4. Übergeordnetes src behalten; untergeordnete Quelle nach dem inneren Link platzieren.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Ein iframe enthält eine Karte eines Veranstaltungsorts. Welcher Titel bezeichnet seinen Zweck für einen Screenreader-Benutzer am besten?
  1. „Eingebetteter Inhalt“
  2. „Karte des Veranstaltungsorts“
  3. „Frame 1 auf dieser Seite“
  4. „Karte mit 600 mal 400 Pixeln“
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Ein eingebettetes Quiz muss Skripte ausführen und sein Formular absenden, während Pop-ups blockiert bleiben. Welcher sandbox-Wert passt zu diesen Anforderungen?
  1. allow-forms allow-popups
  2. allow-scripts allow-popups
  3. allow-scripts allow-forms
  4. allow-same-origin allow-forms
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Ein Vorschau-Frame desselben Ursprungs führt nicht vertrauenswürdiges HTML aus. Er hat sandbox="allow-scripts allow-same-origin", allow="camera" und referrerpolicy="no-referrer". Die Vorschau benötigt Skripte, aber keine Kamera. Welche Änderungen der Berechtigungen stellen eine wirksame Isolation wieder her und erlauben weiterhin die Skriptausführung?
  1. Camera entfernen; beide Sandbox-Schlüsselwörter und no-referrer behalten.
  2. Allow-scripts entfernen; camera und allow-same-origin behalten.
  3. No-referrer entfernen; camera und beide Sandbox-Schlüsselwörter behalten.
  4. Camera und allow-same-origin entfernen; allow-scripts behalten.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Ein textarea hat rows="4" cols="35" und keine Längenattribute. Warum kann ein Besucher mehr als 140 Zeichen eingeben?
  1. Rows und cols legen die sichtbare Größe fest, nicht die Eingabelänge.
  2. Textareas ignorieren immer jede mögliche Längenregel.
  3. Cols zählt Wörter, während rows Absätze zählt.
  4. Die Methode des Formulars erhöht die Grenze für Texteingaben.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Eine Formularfeldgruppe für die Lieferung hat eine Gruppenbeschriftung, aber ihre Optionsfelder haben unterschiedliche Namen und keine Beschriftungen. Ein separates E-Mail-Feld hat eine id und einen Platzhalter, aber keinen name. Die Seite muss eine Lieferauswahl erlauben, jedes Steuerelement bezeichnen und die E-Mail-Adresse senden. Welche Korrektur erfüllt alle drei Anforderungen?
  1. Optionsfeldern denselben Namen geben; Optionsfelder und E-Mail-Feld beschriften; E-Mail-Feld namenlos lassen.
  2. Optionsfeldern dieselbe id geben; Optionsfelder und E-Mail-Feld beschriften; E-Mail-Feld einen Namen geben.
  3. Optionsfeldern denselben Namen geben; nur die Gruppenbeschriftung behalten; E-Mail-Feld einen Namen geben.
  4. Optionsfeldern denselben Namen geben; Optionsfelder und E-Mail-Feld beschriften; E-Mail-Feld einen Namen geben.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Set 4: Behebe kombinierte HTML-Probleme10 Übungsfragen

Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.

Frage 1 von 10

Eine Karte weit unter dem Hauptinhalt muss erst laden, wenn der Besucher in ihre Nähe kommt. Welche iframe-Einstellung fordert dieses Verhalten an?
  1. loading="eager"
  2. preload="none"
  3. sandbox="lazy"
  4. loading="lazy"
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

Ein Zahlenfeld hat value="0.25", kein min und kein step-Attribut. Der Benutzer ersetzt seinen Wert. Welche Eingabe erfüllt die Standardschrittregel?
  1. 1,00
  2. 1,25
  3. 1,50
  4. 2,00
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Ein verpflichtender Textcode muss [A-Z]{2}[0-9]{2} entsprechen. Die normale Validierung des Formulars ist eingeschaltet. Seine Sendeschaltfläche „Entwurf speichern“ hat formnovalidate, „Senden“ dagegen nicht. Der Code lautet „xy8“. Was geschieht bei den beiden Schaltflächen?
  1. Beide Schaltflächen verhindern das Absenden, bis der Code dem Muster entspricht.
  2. Senden übermittelt ihn; Entwurf speichern verhindert es wegen des Musters.
  3. Entwurf speichern übermittelt ihn; Senden verhindert es wegen des Musters.
  4. Beide Schaltflächen senden ab, weil der Code nicht leer ist.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Eine Tabelle mit drei Spalten hat eine Kopfzelle in der ersten Spalte, die zwei Zeilen überspannt. In der zweiten Zeile überspannt ein td die verbleibenden zwei Spalten. Das td muss auf Kopfzellen mit den ids r, planned und actual verweisen. Welcher HTML-Quelltext für die zweite Zeile passt?
  1. <tr><td colspan="2" headers="r planned actual">12</td></tr>
  2. <tr><td></td><td colspan="2" headers="r planned actual">12</td></tr>
  3. <tr><td colspan="3" headers="r planned actual">12</td></tr>
  4. <tr><td colspan="2" headers="r,planned,actual">12</td></tr>
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Ein POST-Formular hat ein Eingabefeld mit name="member" value="K8" readonly, ein leeres Textfeld mit dem Namen note und ein nicht angekreuztes Kontrollkästchen mit dem Namen copy. Die Anfrage verwendet HTTPS. Welches Datenverhalten sollte das empfangende Programm erwarten?
  1. Nur member kommt an; HTTPS entfernt leere Felder.
  2. Member, note und copy kommen mit ihren angezeigten Werten an.
  3. Nur note kommt an; schreibgeschützte Werte werden ausgelassen.
  4. Member und leeres note kommen an; copy wird ausgelassen.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Die Textspur eines Videos soll sowohl gesprochene Anweisungen als auch ein wichtiges Alarmgeräusch vermitteln. Welche Textspurart bezeichnet diesen Zweck?
  1. captions
  2. subtitles
  3. chapters
  4. metadata
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Ein Wiedergabeprogramm eines Drittanbieters verwendet no-referrer und Lazy Loading unterhalb der ersten Bildschirmansicht der Seite. Ein Besucher scrollt in seine Nähe, startet aber nie die Wiedergabe. Was geschieht, wenn der iframe lädt?
  1. Der Anbieter erhält den vollständigen Seitenpfad, aber keine Netzwerkadresse.
  2. Es erfolgt keine Anfrage, weil der Besucher die Wiedergabe nicht gestartet hat.
  3. Der Anbieter wird ohne die Adresse der verweisenden Seite kontaktiert.
  4. Es erfolgt keine Anfrage, weil no-referrer jeden Kontakt blockiert.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Ein optionales Feld für einen Spitznamen hat minlength="4". Ein Benutzer gibt drei gewöhnliche Leerzeichen ein. Besteht die Eingabe die Längenregel und warum?
  1. Ja; optionale Felder überspringen jede Textlängenbeschränkung.
  2. Nein; der angegebene Wert hat weniger als vier Zeichen.
  3. Nein; Leerzeichen werden vor der Längenprüfung immer entfernt.
  4. Ja; Leerzeichen erfüllen das Minimum jedes optionalen Felds.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Eine Tabellenkopfzelle lautet „Länge (m)“ und eine Datenzelle darunter enthält 2.4. Welche Einheit gehört zu diesem Wert?
  1. Zentimeter
  2. Millimeter
  3. Kilometer
  4. Meter
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Ein Video hat src="outdated.mov" sowie untergeordnete Quellen für nicht unterstütztes WebM und unterstütztes MP4/H.264/AAC in dieser Reihenfolge. Sein einziger Downloadlink ist innerhalb des Wiedergabeprogramms verschachtelt. Welche Änderungen lassen diesen Browser die abspielbare untergeordnete Datei auswählen und halten eine Ausweichmöglichkeit sichtbar, falls die Wiedergabe dennoch fehlschlägt?
  1. Übergeordnetes src behalten, WebM bevorzugen und den Link nach außen setzen.
  2. Übergeordnetes src entfernen und den Downloadlink nach außen setzen.
  3. Übergeordnetes src entfernen, aber den Link nur innerhalb des Videos lassen.
  4. Übergeordnetes src behalten und Quellentypen durch video/mp4 ersetzen.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Hängst du bei deiner eigenen Aufgabe fest? Hausaufgabenhilfe

Schlüsselbegriffe

79 Schlüsselbegriffe, jeweils mit Definition

A

action-Attribut
Das action-Attribut gibt die URL an, an die ein Formular seine Daten übermittelt; fehlt es, wird die URL der aktuellen Seite verwendet.
Die Einstellung action="/messages" leitet eine Nachrichtenübermittlung an die Empfangsadresse der Website für Nachrichten.
Audiodeskription
Eine Audiodeskription beschreibt wichtige visuelle Details, die eine Person benötigt, um ein Video zu verstehen, ohne dessen Bilder zu sehen.
Eine Beschreibung kann eine stumme Vorführung auf dem Bildschirm erklären, die im gewöhnlichen Dialog nicht erwähnt wird.
Auswahlliste
Eine Auswahlliste ist ein Steuerelement, das eine feste Auswahl von Optionen anbietet und den Wert der ausgewählten Option oder Optionen übermittelt.
Ein Liefermenü zeigt „Express (nächster Tag)“ an, während es den kürzeren Optionswert express übermittelt.
Automatische Vervollständigung
Die automatische Vervollständigung wird durch ein Attribut gesteuert, das den Zweck eines Felds beschreibt, damit der Browser passende gespeicherte Informationen zur Eingabe anbieten kann.
Ein Telefonfeld verwendet autocomplete="tel", damit der Browser die gespeicherte Telefonnummer des Benutzers vorschlagen kann.
Automatische Wiedergabe
Die automatische Wiedergabe fordert eine Wiedergabe ohne Drücken einer Wiedergabeschaltfläche an; Browser können sie jedoch abhängig von Ton, Interaktion und Berechtigungseinstellungen blockieren.
Ein stummgeschalteter Inline-Hintergrundclip hat eine größere Chance, automatisch abgespielt zu werden, als einer, der mit Ton beginnt.

B

Beschriftung
Eine Beschriftung ist Text, der mit einem Formularsteuerelement verbunden ist, dessen zugänglichen Namen liefert und den Text zu einem anklickbaren Ziel für dieses Steuerelement macht.
Ein Klick auf „E-Mail-Adresse“ setzt den Fokus auf das Feld, dessen id mit dem for-Attribut der Beschriftung übereinstimmt.
Boolesches Attribut
Ein boolesches Attribut aktiviert eine HTML-Einstellung durch seine Anwesenheit; sein geschriebener Wert schaltet die Einstellung weder ein noch aus.
Ein Eingabefeld mit required="false" ist weiterhin ein Pflichtfeld. Das Attribut muss daher entfernt werden, um es optional zu machen.

C

Clickjacking
Clickjacking verleitet einen Benutzer dazu, auf eine verborgene oder täuschende eingebettete Oberfläche zu klicken. Einbettungsbeschränkungen helfen Websites, dies zu verhindern.
Eine Website kann die Einbettung in Frames verweigern, damit ihre Schaltflächen nicht unter einer irreführenden Oberfläche auf einer anderen Seite verborgen werden können.
Codec
Ein Codec kodiert oder dekodiert einen Mediendatenstrom; ein Browser muss die tatsächlich im Container enthaltenen Video- und Audiocodecs unterstützen.
Eine MP4-Datei kann H.264-Video mit AAC-Audio kombinieren, und beide Datenströme benötigen eine passende Wiedergabeunterstützung.
Containerformat
Ein Containerformat beschreibt die Dateistruktur, die Mediendatenströme und zugehörige Informationen enthält und häufig an Erweiterungen wie .mp4 oder .webm erkennbar ist.
Zwei MP4-Dateien können unterschiedlich kodierte Datenströme enthalten, sodass die Erweiterung allein keine Wiedergabe garantiert.
Cue
Ein Cue ist ein Texteintrag mit Startzeit, späterer Endzeit und Text, der während dieses Intervalls in einer WebVTT-Textspur angezeigt wird.
Das Intervall 00:00:01.000 --> 00:00:04.500 zeigt einen Cue für dreieinhalb Sekunden an.

D

datalist-Element
Ein datalist-Element liefert einem verbundenen Eingabefeld vorgeschlagene Werte und lässt dem Benutzer zugleich die Freiheit, eine Antwort außerhalb dieser Vorschläge einzugeben.
Ein Stadtfeld schlägt „Osaka“ und „Nairobi“ vor, akzeptiert aber weiterhin eine andere vom Besucher eingegebene Stadt.
Datentabelle
Eine Datentabelle ordnet zusammengehörige Werte in Zeilen und Spalten, sodass jeder Wert seine Bedeutung aus beiden Dimensionen des Rasters erhält.
Ein Laufprotokoll vergleicht Strecken und Zeiten für mehrere Tage anhand einer Zeile pro Tag und beschrifteter Spalten.
Datenzelle
Eine Datenzelle ist ein td-Element mit einem Tabellenwert, dessen Bedeutung sich aus den seiner Zeile und Spalte zugeordneten Kopfzellen ergibt.
In einer Tabelle mit einer Zeile „Mittwoch“ und einer Spalte „Strecke (km)“ wird der Wert 7,5 als Strecke vom Mittwoch in Kilometern gelesen.

E

Einbettungsbeschränkung
Eine Einbettungsbeschränkung ist eine Antwortregel eines Anbieters, die Browsern mitteilt, wo oder ob seine Seite innerhalb anderer Seiten erscheinen darf.
Ein blockierter Frame benötigt eine zugelassene Einbettungsadresse oder einen direkten Link; eine Änderung seines Titels kann die Regel nicht außer Kraft setzen.
Eingabemodus
Ein Eingabemodus ist ein Hinweis für die Belegung einer Bildschirmtastatur; er validiert den Text nicht und begrenzt nicht, welche Zeichen Benutzer eingeben können.
Ein Textfeld für einen Mitgliedscode verwendet inputmode="numeric", um die Eingabe von Ziffern auf einem Smartphone zu erleichtern.
Eingabetyp
Ein Eingabetyp ist die Einstellung, die das Eingabeverhalten eines Steuerelements festlegt, etwa ein E-Mail-Feld, eine Datumsauswahl oder ein Kontrollkästchen.
Für ein Ankunftsdatum stellt type="date" eine Auswahlhilfe statt eines uneingeschränkten einzeiligen Textfelds bereit.
Einschränkungsvalidierung
Die Einschränkungsvalidierung ist die Prüfung von Formularwerten durch den Browser anhand von Eingabetypen und Attributen vor einem normalen Absenden.
Beim Absenden eines Formulars mit einem leeren E-Mail-Pflichtfeld setzt der Browser den Fokus auf dieses Feld und zeigt eine Meldung an.
Ersatzinhalt
Ersatzinhalt innerhalb eines Medienelements wird von Browsern angezeigt, die dieses Element nicht unterstützen; er dient nicht als allgemeine Meldung für jeden Wiedergabefehler.
Ein Downloadlink außerhalb des Wiedergabeprogramms bleibt auch dann verfügbar, wenn ein moderner Browser dessen Quellen nicht abspielen kann.
Ersatzinhalt des object-Elements
Ersatzinhalt des object-Elements ist Inhalt innerhalb eines object-Elements, der eine Alternative bereitstellt, wenn die externe Ressource nicht angezeigt werden kann.
Ein eingebettetes PDF-object kann einen Downloadlink enthalten, damit Leser das Dokument weiterhin erhalten können.

F

Formular
Ein Formular ist eine Gruppe von Steuerelementen, die zusammengehörige Eingaben erfasst und die daraus entstehenden Daten als Anfrage an eine empfangende URL sendet.
Ein Kontaktformular sendet die Nachricht und die E-Mail-Adresse eines Besuchers zusammen, wenn dieser „Senden“ drückt.
Formularfeldgruppe
Eine Formularfeldgruppe gruppiert zusammengehörige Formularsteuerelemente, sodass eine gemeinsame Gruppenbeschriftung die Gruppe benennt, während die einzelnen Steuerelemente ihre Beschriftungen behalten.
Eine Formularfeldgruppe fasst drei Optionsfelder für die Lieferung unter der gemeinsamen Frage „Liefergeschwindigkeit“ zusammen.
Fortschrittsanzeige
Eine Fortschrittsanzeige zeigt mithilfe eines progress-Elements sowie dessen aktuellem Wert und Maximum, wie viel einer Aufgabe abgeschlossen ist.
Eine Aufgabe mit dem Stand 70 von 100 kann einen Fortschrittsbalken anzeigen, während der benachbarte Text die Aufgabe benennt.
Funktionsberechtigung
Eine Funktionsberechtigung gewährt einem eingebetteten Dokument über allow Zugriff auf eine Browserfunktion, vorbehaltlich anderer Browserrichtlinien und Benutzerentscheidungen.
Ein Wiedergabeprogramm erhält eine Vollbildberechtigung, ohne die unnötige Berechtigung zur Verwendung der Kamera des Besuchers zu erhalten.

G

Geltungsbereich einer Kopfzelle
Der Geltungsbereich einer Kopfzelle gibt die Richtung oder Gruppe an, für die eine Tabellenkopfzelle gilt, etwa eine Zeile oder eine Spalte.
In einer Tabelle täglicher Strecken verwendet jeder Tagesname scope="row", während die Streckenüberschrift für die darunterstehenden Werte scope="col" verwendet.
Gemischte Inhalte
Gemischte Inhalte entstehen, wenn eine HTTPS-Seite Ressourcen über HTTP anfordert; ein HTTP-iframe wird blockiert, weil er aktiver unsicherer Inhalt ist.
Eine HTTPS-Seite für einen Veranstaltungsort, die eine Karte einbettet, muss deren HTTPS-Einbettungsadresse verwenden, um einen blockierten unsicheren Frame zu vermeiden.
GET
GET ist eine Anfragemethode, die übermittelte Formulardaten in den Query-String der URL setzt und sich zum Lesen oder Suchen von Informationen eignet.
Eine Katalogsuche kann ihre Suchbegriffe in der URL behalten, sodass die Ergebnisadresse als Lesezeichen gespeichert werden kann.
Gruppenbeschriftung
Eine Gruppenbeschriftung ist das erste Kindelement eines fieldset, das die Gruppe benennt und ihren zusammengehörigen Steuerelementen eine gemeinsame Frage oder einen Kontext gibt.
Die Gruppenbeschriftung „Kontaktpräferenzen“ erklärt, warum mehrere einzeln beschriftete Kontrollkästchen für die Kommunikation zusammenstehen.

H

headers-Attribut
Das headers-Attribut verbindet eine Datenzelle über eine durch Leerzeichen getrennte Liste eindeutiger IDs mit bestimmten Kopfzellen.
Eine Zelle mit headers="mon distance planned" verweist auf drei Überschriften, die gemeinsam ihren Wert erklären.
Hinweis über aria-describedby
Ein Hinweis über aria-describedby ist ein erklärender Text, der über aria-describedby mit einem Steuerelement verbunden wird und dessen Beschriftung um eine Beschreibung ergänzt.
Ein Passworthinweis mit eigener id erklärt vor dem Absenden des Formulars: „Verwende mindestens 8 Zeichen“.

I

Inlineframe
Ein Inlineframe ist ein iframe-Element, das ein separates Webdokument mit eigenen Stilen und Skripten innerhalb der aktuellen Seite anzeigt.
Eine Seite für einen Veranstaltungsort bettet die Seite eines Kartendienstes ein und hält die Karte dabei innerhalb eines festgelegten rechteckigen Bereichs.

K

Kontrollkästchen
Ein Kontrollkästchen ist ein unabhängiges Steuerelement, das angekreuzt oder nicht angekreuzt sein kann und dessen Wert nur im angekreuzten Zustand übermittelt wird.
Ein Besucher kann sowohl „E-Mail-Neuigkeiten“ als auch „Veranstaltungserinnerungen“ ankreuzen, weil die Optionen unabhängig sind.
Kopfzelle
Eine Kopfzelle ist ein th-Element, das eine Zeile oder Spalte benennt und eine Beziehung zu den zugehörigen Datenzellen der Tabelle ausdrückt.
Die Kopfzelle „Strecke (km)“ bezeichnet die Größe und Einheit jedes darunterstehenden Messwerts.
Kurzbezeichnung einer Kopfzelle
Eine Kurzbezeichnung einer Kopfzelle ist ein kürzerer Wortlaut, den abbr an einer Kopfzelle bereitstellt und den manche Screenreader beim Wiederholen dieser Kopfzelle verwenden.
Die lange Überschrift „Distance covered in kilometers“ kann abbr="Distance" für eine kürzere Wiederholung bereitstellen.

L

Lazy Loading
Lazy Loading verzögert eine iframe-Anfrage, bis der Frame nahe am Viewport ist, und verringert so den Aufwand für die erste Ansicht der Seite.
Eine Karte weit unter der Einleitung verwendet loading="lazy", während der Hauptinhalt am Seitenanfang zügig lädt.
Lokales Datum mit Uhrzeit
Ein lokales Datum mit Uhrzeit verbindet ein Kalenderdatum mit einer Uhrzeit ohne Zeitzone, wie es mit datetime-local erfasst wird.
Eine Termineingabe kann 2026-07-09T10:30 übermitteln; der Ort muss den gegebenenfalls benötigten Zeitzonenkontext liefern.

M

Maximallänge
Eine Maximallänge ist die durch maxlength festgelegte obere Grenze für die Texteingabe; Browser stoppen gewöhnliche Eingaben normalerweise, wenn diese Grenze erreicht ist.
Ein Feld für einen Benutzernamen mit maxlength="12" nimmt bei der Eingabe kein dreizehntes gewöhnliches lateinisches Zeichen mehr an.
Maximum
Ein Maximum ist eine durch max festgelegte eingeschlossene obere Schranke, die ein Zahlen-, Datums- oder Uhrzeitwert nicht überschreiten darf, um die Validierung zu bestehen.
Ein Datumsfeld mit max="2026-08-31" erlaubt den 31. August, lehnt aber ein später eingegebenes Datum ab.
Mehrzeiliges Textfeld
Ein mehrzeiliges Textfeld ist ein Textsteuerelement, dessen Ausgangswert zwischen sein öffnendes und schließendes textarea-Tag geschrieben wird.
Ein Nachrichtenfeld setzt rows="5" für die sichtbare Höhe, während maxlength den eingegebenen Text getrennt davon begrenzt.
Messwertanzeige
Eine Messwertanzeige zeigt einen Messwert innerhalb eines bekannten Bereichs, etwa den belegten Speicherplatz, statt den Fortschritt einer laufenden Aufgabe anzuzeigen.
Eine Messwertanzeige mit value="0.6" und ihrem Standardbereich zeigt einen Messwert bei 60 % dieses Bereichs.
MIME-Typ
Ein MIME-Typ bezeichnet das Format einer Ressource, sodass ein Browser vor dem Abrufen von Mediendaten entscheiden kann, ob er die Ressource unterstützt.
Eine MP3-Quelle gibt type="audio/mpeg" an, damit der Browser ihr vorgesehenes Audioformat erkennen kann.
Mindestlänge
Eine Mindestlänge ist eine durch minlength festgelegte untere Schranke für eingegebenen Text, die ein leeres Feld weiterhin erlaubt, sofern nicht auch required gilt.
Ein optionaler Spitzname mit minlength="4" darf weggelassen werden, aber ein angegebener Spitzname aus zwei Buchstaben besteht die Prüfung nicht.
Minimum
Ein Minimum ist eine durch min festgelegte eingeschlossene untere Schranke für Zahlen-, Datums- oder Uhrzeiteingaben, die bei gültiger Angabe auch die Schrittbasis liefert.
Bei min="0.5" step="0.5" kann ein Paket 0,5 kg wiegen, und weitere Schritte beginnen bei diesem Wert.
multipart/form-data
multipart/form-data ist eine Formularkodierung, die bei einer POST-Übermittlung separate Teile einschließlich Dateiinhalten überträgt.
Ein Uploadformular setzt enctype="multipart/form-data", damit die Bytes des ausgewählten Dokuments gesendet werden können.

N

Name-Wert-Paar
Ein Name-Wert-Paar verbindet einen übermittelten Datenschlüssel aus dem name-Attribut eines Steuerelements mit dem Wert, den dieses Steuerelement beisteuert.
Eine ausgewählte Option kann delivery=express ergeben, auch wenn ihre sichtbare Beschriftung „Expresslieferung“ lautet.
Native Wiedergabesteuerelemente
Native Wiedergabesteuerelemente sind die browser­eigene Wiedergabeoberfläche, die durch controls aktiviert wird, damit Besucher die Wiedergabe starten, pausieren, die Position ändern und die Medienlautstärke einstellen können.
Ein audio-Element wird zu einem sichtbaren, bedienbaren Wiedergabeprogramm, wenn die Seite das Attribut controls ergänzt.

O

Optionsfeldgruppe
Eine Optionsfeldgruppe besteht aus Optionsfeldern mit gemeinsamem Namen, sodass die Auswahl einer Option eine vorherige Auswahl in dieser Gruppe aufhebt.
Drei Liefergeschwindigkeiten verwenden gemeinsam name="speed" und unterschiedliche Werte, um eine Einfachauswahl zu ermöglichen.
Optionsgruppe
Eine Optionsgruppe ist ein optgroup-Element, das zusammengehörige Optionen eines select unter einer benannten Überschrift zusammenfasst, die selbst nicht ausgewählt werden kann.
Die Überschrift „Heiße Getränke“ gruppiert Tee und Kaffee, ohne selbst zu einem bestellbaren Getränk im Menü zu werden.

P

pattern-Attribut
Das pattern-Attribut eines Eingabefelds enthält einen regulären Ausdruck, dem der gesamte nicht leere Wert entsprechen muss, um die Formatprüfung zu bestehen.
Eine Organisation kann mithilfe ihres eigenen festen Musters aus Buchstaben und Ziffern einen Produktcode wie „ABC-1234“ verlangen.
POST
POST ist eine Anfragemethode, die übermittelte Formulardaten in den Nachrichtenkörper der Anfrage setzt und sich zum Senden von Nachrichten oder Ändern von Daten eignet.
Ein Anmeldeformular verwendet POST, wobei HTTPS die Verbindung schützt, über die die persönlichen Angaben übertragen werden.

Q

Quantifizierer
Ein Quantifizierer legt fest, wie oft das vorherige Musterelement wiederholt werden darf, etwa genau viermal oder zwischen zwei- und fünfmal.
In [0-9]{4} verlangt der Quantifizierer vier Ziffern, sodass drei Ziffern den erwarteten Code nicht vervollständigen.

R

Referrer-Richtlinie
Eine Referrer-Richtlinie steuert, wie viel von der Adresse der verweisenden Seite mit einer Anfrage gesendet wird; no-referrer lässt diese Adresse vollständig weg.
Ein Frame mit referrerpolicy="no-referrer" kontaktiert weiterhin seinen Anbieter, sendet aber keine Adresse der verweisenden Seite.
Regulärer Ausdruck
Ein regulärer Ausdruck ist eine kompakte Schreibweise, die Textmuster durch Zeichengruppen, Wiederholungsregeln und andere Operatoren beschreibt.
Der Ausdruck [A-Z]{3} akzeptiert genau drei lateinische Grundbuchstaben in Großschreibung, wenn er als Muster für den gesamten Wert verwendet wird.
required-Attribut
Das required-Attribut ist ein boolesches Attribut, das bei einem unterstützten Steuerelement einen Wert oder eine Auswahl verlangt, damit es die Validierung besteht.
Das Kontrollkästchen mit der Beschriftung „Ich akzeptiere die Bedingungen“ muss angekreuzt sein, wenn es required trägt.

S

Sandbox
Eine Sandbox wendet Beschränkungen auf das Dokument eines iframe an, wobei bestimmte Schlüsselwörter ausgewählte Fähigkeiten wie Skriptausführung oder Formularübermittlung wiederherstellen.
Ein eingebettetes Quiz erlaubt Skripte und Formulare und behält zugleich die Sandbox-Beschränkung bei, die Pop-ups blockiert.
Schieberegler
Ein Schieberegler dient zur Auswahl einer numerischen Einstellung innerhalb von Schranken und springt auf die durch seine Schrittweite definierten Werte.
Ein Lautstärkeregler kann min="0" max="10" verwenden, wenn eine grobe Einstellung nützlicher ist als eine genaue Eingabe.
Schrittbasis
Eine Schrittbasis ist der Ausgangspunkt für Schritte; sie stammt zuerst aus min, dann aus einem gültigen HTML-Wert und dann aus der Standardbasis des Eingabetyps.
Ein Zahlenfeld mit min="1" step="2" erlaubt 1, 3 und 5, sodass eine Eingabe von 4 innerhalb des Wertebereichs die Prüfung nicht besteht.
Schrittweite
Eine Schrittweite ist der zulässige Abstand zwischen Schritten ab der Schrittbasis eines Felds und schränkt ein, welche Werte innerhalb seiner Schranken die Validierung bestehen.
Ein Uhrzeitfeld mit step="900" verwendet Schritte von 15 Minuten, weil Uhrzeitschritte in Sekunden gemessen werden.
Schrittweitenabweichung
Eine Schrittweitenabweichung liegt vor, wenn ein eingegebener Wert keine ganze Anzahl zulässiger Schritte von der geltenden Basis entfernt liegt.
Eine Masse von 2,25 kg besteht bei einer Schrittweite von einem halben Kilogramm ab 0,5 die Prüfung nicht, selbst wenn sie innerhalb des zulässigen Wertebereichs des Felds liegt.
Seitenverhältnis
Ein Seitenverhältnis ist das Verhältnis zwischen Breite und Höhe eines Bildes oder Videos, mit dem seine Form bei einer Größenänderung erhalten wird.
Ein Clip mit 1920 × 1080 hat ein Seitenverhältnis von 16:9; ein passendes Wiedergabeprogramm mit 640 Pixeln Breite ist daher 360 Pixel hoch.
Serverseitige Validierung
Die serverseitige Validierung prüft empfangene Daten im Serverprogramm, weil Steuerelemente und Prüfungen eines Browsers geändert oder umgangen werden können.
Ein Server lehnt einen fehlerhaft formatierten Produktcode auch dann ab, wenn jemand das pattern des Felds in den Entwicklerwerkzeugen entfernt hat.
source-Element
Ein source-Element bietet eine alternative Mediendatei innerhalb eines Wiedergabeprogramms an, sodass der Browser der Reihe nach die erste abspielbare Quelle auswählen kann.
Ein Video führt eine WebM-Quelle vor MP4 auf, sodass WebM bevorzugt wird, wenn der Browser es abspielen kann.
Spaltengruppe
Eine Spaltengruppe beschreibt zusammengehörige Tabellenspalten mit colgroup und bietet eine Struktur für übergeordnete Kopfzellen und bestimmte Spaltenstile.
Die Spalten „Geplant“ und „Tatsächlich“ gehören unter der Überschrift „Strecke (km)“ zu einer definierten Spaltengruppe.
Spaltenüberspannung
Eine Spaltenüberspannung lässt eine Tabellenzelle über ihr colspan-Attribut mehrere horizontale Rasterpositionen belegen und ersetzt dabei benachbarte Zellen.
In einem Plan mit zwei Tagesspalten deckt ein Mittagspauseneintrag mit colspan="2" beide neben der separaten Zeitkopfzelle der Zeile ab.
srcdoc-Dokument
Ein mit srcdoc bereitgestelltes srcdoc-Dokument besteht aus HTML, das direkt in das iframe-Attribut geschrieben wird und Vorrang vor einer src-URL hat.
Eine Nachrichtenvorschau in einer Sandbox verwendet srcdoc="<p>Preview of your message</p>", ohne eine separate HTML-Seite abzurufen.

T

Tabellenbeschriftung
Eine Tabellenbeschriftung ist der eigene Titel einer Tabelle. Sie steht an erster Stelle innerhalb der Tabelle, damit Leser deren Thema vor den einzelnen Zellen erkennen können.
Die Tabellenbeschriftung „Laufprotokoll, Woche 12“ unterscheidet die Messwerte dieser Woche von einer anderen Tabelle auf der Seite.
Textspur
Eine Textspur enthält Informationen mit Zeitangaben, die über track an Medien gebunden werden, und hat eine Art wie captions, subtitles, chapters oder metadata.
Eine Untertitelspur gibt ihre Sprache und eine Menübeschriftung an, damit Zuschauer den Text erkennen und einschalten können.
Transkript
Ein Transkript ist eine lesbare Textfassung von Sprache und bedeutsamen Geräuschen, die auf der Seite oder über einen eindeutig bezeichneten Link in der Nähe bereitgestellt wird.
Eine Podcastseite platziert „Transkript der Folge lesen“ direkt unter ihrem Audiowiedergabeprogramm, damit es leicht zugänglich ist.

U

Umgehung der Validierung
Eine Umgehung der Validierung überspringt die normalen Prüfungen des Browsers beim Absenden, etwa durch Einstellungen wie novalidate oder eine außerhalb des Formulars gesendete Anfrage.
Eine Sendeschaltfläche „Entwurf speichern“ kann formnovalidate verwenden, während die normale Schaltfläche „Senden“ weiterhin prüft.
Untertitel
Untertitel verschriftlichen oder übersetzen Dialoge, um Zuschauern das Verständnis der gesprochenen Sprache zu erleichtern, während sie den Ton selbst hören können.
Ein Zuschauer, der den Originaldialog hört, kann übersetzte Untertitel verwenden, um dessen Bedeutung zu folgen.
Untertitel für gehörlose und schwerhörige Menschen
Untertitel für gehörlose und schwerhörige Menschen stellen Sprache, die Identität der Sprechenden und bedeutsame Geräusche als Text mit Zeitangaben für Menschen dar, die den Ton einer Aufnahme nicht hören können.
Ein Untertitel enthält „[Tür schließt sich]“, sodass die Information des Geräuschs auch bei stummgeschaltetem Wiedergabeprogramm verfügbar bleibt.
Ursprung
Ein Ursprung ist die Kombination aus URL-Schema, Host und Port einer Webadresse. Browserregeln verwenden sie, um Zugriffsbereiche von Dokumenten zu unterscheiden.
Eine eingebettete Seite desselben HTTPS-Hosts und Ports kann denselben Ursprung wie das umgebende Dokument haben.

V

Validierungszustand
Ein Validierungszustand beschreibt, ob ein Steuerelement seine Einschränkungen derzeit erfüllt. CSS kann dies mit Selektoren für gültige oder ungültige Zustände darstellen.
Der Selektor :user-invalid kann die Fehlergestaltung verzögern, bis der Benutzer mit dem Steuerelement interagiert hat.
Vorladen
Vorladen wird durch einen Hinweis zum Abrufen von Medien vor der Wiedergabe gesteuert, der keine Daten, grundlegende Metadaten oder möglicherweise die ganze Datei anfordert.
Ein langer Clip verwendet preload="none", um seine Medien nicht vorab anzufordern, wenn viele Besucher ihn möglicherweise überspringen.
Vorschaubild
Ein Vorschaubild ist ein separates Standbild, das ein video-Element vor der Wiedergabe anzeigt und über sein poster-Attribut auswählt.
Ein Workshop-Video zeigt sein einleitendes Standbild, während es darauf wartet, dass der Besucher die Wiedergabe startet.

W

WebVTT
WebVTT ist ein UTF-8-Textspurformat, das mit WEBVTT beginnt und Cues mit Zeitangaben enthält, die durch Leerzeilen getrennt sind. Es wird gewöhnlich als .vtt gespeichert.
Eine Untertitelspur verweist auf intro.en.vtt, dessen Zeitangaben vor den Millisekundenstellen Punkte verwenden.

Z

Zeilengruppe
Eine Zeilengruppe fasst Tabellenzeilen anhand ihrer Aufgabe durch thead, tbody oder tfoot zusammen und trennt Kopfzeilen, Hauptdaten und Zusammenfassungen.
In einem Laufprotokoll stehen Gesamtstrecke und Gesamtzeit nach den Zeilen des Tabellenkörpers in einer Fußzeile innerhalb von tfoot.
Zeilenüberspannung
Eine Zeilenüberspannung lässt eine Tabellenzelle ihre Spalte über mehrere Zeilen belegen, sodass überdeckte Positionen in späteren Zeilen keine neue Zelle benötigen.
Eine Veranstaltung am Montag mit rowspan="2" belegt die Position für Montag auch in der folgenden Zeile.
Zugänglicher Name
Ein zugänglicher Name bezeichnet ein Steuerelement oder einen Frame für assistive Technologien, sodass sein Zweck angesagt werden kann, wenn ein Benutzer es oder ihn erreicht.
Die Beschriftung „Telefonnummer (optional)“ teilt einem Screenreader-Benutzer sowohl die erbetene Angabe als auch ihren optionalen Status mit.

Über diese Einheit

Von StudeliFehler melden

Erstelle deine eigenen Lernmaterialien

Mach aus deinen Notizen, Folien und Dokumenten Lernleitfäden, Übungsfragen, Karteikarten und 6 weitere Tools.

Jetzt starten