Informationen für Browser, Anwendungen und Suchmaschinen
spellcheck | Rechtschreibprüfung durchführen |
contenteditable | Benutzer kann den Inhalt ändern |
data-* | Ein eigenes Attribut für individuelle Javascript-Anwendungen. |
download | Lädt eine Datei beim Click |
decoding | async für img- und iframe-Elemente |
draggable | Benutzer kann das Element ziehen. |
dropzone | Ziel eines mit draggable gezogenen Elements. |
Event Handler | onclick, onsubmit, ontouch … Javascript Event Handler können direkt im HTML-Tag sitzen. |
hidden | Inhalt ist momentan nicht relevant und verborgen |
loading | loading lazy für Bilder, iframe- und video-Elemente, die nicht sofort angezeigt werden sollen |
translate | Ob das Element übersetzt werden soll oder nicht |
itemscope, itemid, itemprop, itemref, itemtype | Mikroformate, z.B. wie die von schema.org definierte Syntax. |
loading
Bilder erst laden, wenn der Benutzer bis zu ihrem Standort im Layout gescrollt ist spart Ladezeit für die schnelle Anzeige »Over the top« und auch Bandbreite auf den mobilen Geräten, falls der Nutzer gar nicht erst scrollt, um sie zu Gesicht zu bekommen.
<img loading="lazy" width="600" height="400" … >
Bilder, die sofort geladen werden sollen, können dem Browser ebenfalls angekündigt werden:
<img loading="eager" width="600" height="400" … >
loading="lazy" wird von allen modernen Browsern unterstützt (nicht IE11). Darauf achten, dass die Browser die Angabe von width- und height-Attribut brauchen, um den Platz im Layout freizuhalten.
decoding="async" ist eine jüngere Variante, mit der die Browser ein Bild erst dann darstellt, wenn das Rendern des Bildes das Laden der Seite nicht blockiert.
<img decoding="async" width="600" height="400" … >
Mehr zu loading lazy
decoding="async" für img und iframe
Anders als loading="lazy" lädt der Browser Bilder / iframe-Elemente »fast« sofort – nämlich asynchron zu sonstigen Inhalten –, und versucht, beides gleichzeitig durchzuführen.
<img decoding="async" width="600" height="400" … >
Auf textlastingen Seiten bringt Lazy Loading kaum wahrnehmbare Performance-Vorteile, kann aber bei sehr großen Bildern auf langsamen Geräten zu einem sichtbaren »Nachladen« der Bilder führen. So hat sich z.B. WordPress dafür entschieden, decoding="async" anstelle von loading="lazy" in img-Tags einzusetzen.
contenteditable
Schreib mal was
<p contenteditable="true" spellcheck="true">Schreib mal was</p>
Wird von allen modernen Browsern unterstützt.
spellcheck
Schaltet die Rechtschreibprüfung für Eingabefelder ein. Die möglichen Werte sind true und false und der Wert muss gesetzt werden, wenn das spellcheck-Attribut vorhanden ist.
Schreib mal was
<p contenteditable="true" spellcheck="true">Schreib mal was</p>
Wird von allen modernen Browsern unterstützt.
download
Kennzeichnet einen Link als ladbares Element anstelle eines navigierbaren Links.
Bild herunter laden? Download PNG
Bild herunter laden? <a href="image.png" download="">Download PNG</a>
download ist ein Attribut für a-Tags – mehr dazu unter HTML a Link oder Anker-Tag.
Da ältere Browser das Attribut nicht unbedingt unterstützen, andere Browser vielleicht Downloads nur von derselben Domain erlauben, sitzt besser noch eine Kurzanleitung wie "Rechts klicken zum Download" beim Download-Link.
draggable
draggable erklärt ein Element zu Drag & Drop, damit es von einem Bereich der Seite in einen anderen gezogen werden kann. Die Angabe draggable alleine reicht nicht, sondern dazu wird noch Javascript gebraucht.
Alle modernen Browser, aber IE10 und Edge mit Einschränkungen.
dropzone
dropzone ist ein Bereich, auf den das draggable-Element gezogen werden kann und ist ein einfaches Element mit etwas CSS, um es innerhalb der Seite herauszustellen.
Alle modernen Browser, aber IE10 und Edge mit Einschränkungen.
data-Attribut
Das data-Attribut ist für den Einsatz mit Javascript gedacht. Die Browser ignorieren Attribute, die mit data- beginnen.
In HTML4 / XHTML konnten Informationen für Scripte und Anwendungen nur in class- und rel-Attributen untergebracht werden. Aber stellen wir uns nur einmal vor, wir hätten ein Attribut »dropzone« genannt – mit HTML5 wäre dropzone zu einem regulären Attribut geworden.
<div id="book" data-title="Ab die Post" data-autor="Pratchett" > … </div>
Die Werte von data-Attributen sind privater Natur. Die Suchmaschinen sollen diese Attribute ignorieren.
Wird von allen modernen Browsern unterstützt.
Mehr zum Javascript data-Attribut
Javascript Event Handler als HTML-Attribute
In den Anfängen von Javascript saßen Javascript-Aufrufe als HTML-Attribute wie onclick, onmouseover und onload als Event Attribute in HTML-Tags.
Javascript wird heute mit einem Script-Tag vom HTML-Markup getrennt oder mit einem Script-Tag aus einer externen Javascript-Datei geladen. Event-Handler, die auf Ereignisse wie ein Klick auf einem HTML-Element oder einen submit-Button reagieren, können aber auch direkt als reguläres HTML-Attribut in fast alle HTML-Tags gesetzt werden.
Diese Praxis ist mit vielen Nachteilen verbunden und wird nur in Ausnahmen verwendet. Anstelle der Event-Handler in HTML-Tags wird die Registrierung von Ereignissen verwendet.
<button onclick="copyField()">Kopieren</button>
<script>
function copyField () {
document.querySelector("#feld2").value =
document.querySelector("#feld1").value
}
</script>
Javascript Events sind immer noch valide HTML-Attribute. Allerdings wird diese Technik heute kaum noch angewendet.
Nicht alle Javascript-Events bilden valide HTML-Attribute für alle Elemente. Bei Touchscreen-Events wie ontouch auf einem div-Element meldet der Validator einen Fehler (HTML 5.3 Editor’s Draft, 4 July 2018).
itemscope, itemtype, itemprop
Mikroformate wie schema.org definieren eine Syntax – ein Schema oder eine Schablone, mit der Suchmaschinen den Inhalt besser identifizieren können. Die Mikroformate von schema.org eignen sich besonders für Inhalte aus Datenbanken wie Events, Rezepte (ja, Koch- und Backrezepte), Produkte wie Pflastermörtel oder Geschirr, Restaurants und auch den lokalen Buchhändler.
Der Einsatz der Mikroformate erfordert nur einen kleinen Eingriff in das Content Management System oder die Templates eines Online-Shops, um die zusätzlichen Attribute aufzunehmen. Hier im Beispiel erkennt die Suchmaschine aus dem verwendeten Schema eine Liste von Events.
Mikroformate
<div itemscope itemtype="http://schema.org/EducationEvent"> <time itemprop="startDate" content="2019-02-14T09:15" datetime="2019-02-14T09:15">Do., 14. Feb 2019</time> <h3 itemprop="name">Web 3 – Homepage für Selbstständige</h3> <div itemprop="location" itemscope itemtype="http://schema.org/Place"> <span itemprop="name">Mühlhausen</span> </div> </div>
Mikroformate nach schema.org
In den Suchergebnissen geben die Suchmaschinen einen Teil der Liste wieder – und zwar nur die Events in der Zukunft. Sie heben die Events hervor – auf diese Weise können sogar kleine Bilder in den Suchergebnissen erscheinen.
Das HTML Link-Tag und das Meta-Tag können mit einem itemprop-Attribut auch im body des Dokuments eingesetzt werden.
JSON LD ersetzt die zahllosen meta-Tags und Attribute, die bei Microformats, RDF und Microdata das HTML überschwemmen.