Informationen für Browser, Suchmaschinen und Javascript
checkspell | Rechtschreibprüfung durchführen |
contenteditable | Benutzer kann den Inhalt ändern |
contextmenu | Kontextmenü eines Elements, das sich mit einem Rechtsklick öffnen soll |
data-* | Ein eigenes Attribut für individuelle Javascript-Anwendungen. |
download | Lädt eine Datei beim Click |
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. |
Inhalt ist momentan nicht relevant und verborgen | |
translate | Ob das Element übersetzt werden soll oder nicht |
itemscope, itemid, itemprop, itemref, itemtype | Mikroformate, z.B. wie die von schema.org definiere Syntax. |
contextmenu
contextmenu erzeugt ein Menü, das sich bei einem Rechtsklick mit der Maus öffnet. Der Wert muss die id eines Menü-Elements im DOM sein.
contextmenu wird nur von Firefox unterstützt und wird wahrscheinlich aus Mangel an Benutzerinteresse nicht weiterentwickelt. Auf der einen Seite gibt es keine Formatierung, die zeigt, dass ein Element ein Kontextmenü besitzt, auf der anderen Seite gibt es kein Äquivalent zum Rechtsklick auf Touch-Devices.
Das Context-Menü steht auf der Liste der Attribute, die u.U. wieder aus der HTML 5-Empfehlung entfernt werden, weil es nicht von mindestens zwei Browsern unterstützt wird.
HTML Textelemente: details, menu, summary, dialog …
contenteditable
Schreib mal was
<p contenteditable="true" spellcheck="true">Schreib mal was</p>
Wird von allen modernen Browsern unterstützt.
checkspell
Schaltet die Rechtschreibprüfung für Eingabefelder ein.
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>
document.querySelector('#book').dataset.title document.querySelector('#book').dataset.autor
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> function copyField () { document.querySelector("#feld2").value = document.querySelector("#feld1").value }
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).
hidden
Elemente, in denen das Attribut hidden gesetzt ist, werden vom Browser nicht angezeigt und gelten als irrelevant (z.B. bis der Benutzer eine bestimmte Aktion durchführt). hidden macht auch aria-hidden="true" überflüssig.
<img hidden id="hiddenimg" src="roses.jpg" width="450" height="174" alt="hidden attribute">
hidden ist ein einfacher Schalter. Ähnlich wie CSS display:none nimmt das Element keinen Platz ein.
hidden wird von allen aktuellen Browsern unterstützt (IE ab Version 11). Für ältere Browser die Unterstützung für das hidden-Attribut einfach durch einen CSS-Attribut-Selektor nachgeführt werden:
[hidden] {display: none}
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.