HTML5: Verweise
Ein Verweis (englisch: hyperlink, link) oder eine Verknüpfung ist ein namensgebender Bestandteil von (X)HTML (Extensible Hypertext Markup Language) und ein entscheidender Grundbaustein des weltweiten Netzwerkes (englisch: World Wide Web), denn erst die Nutzung dieser Verweise führt zu einem Netzwerk (kurz: Netz, englisch: Web). Solche Verknüpfungen sind Querverweise zu anderen Dokumenten im Netz (häufig andere (X)HTML-Dokumente) oder innerhalb eines Dokumentes. Ohne diese Verweise käme man mit (X)HTML nicht weit.
Um Verweise zu realisieren, gibt es verschiedene Möglichkeiten. Im Kopfbereich eines Dokumentes wird dafür das Element link verwendet, welches im Kapitel über Metadaten erläutert wird.
Im normalen Textfluß wird das Phrasenelement a für einen Verweis verwendet. Ferner gibt es auch noch verweissensitive Graphiken und Formulare, mit denen Verweise oder ähnliche Funktionalitäten realisiert werden können.
Das Element a kann da notiert werden, wo fließender Inhalt notiert werden kann.
Das ältere, strikte Inhaltsmodell ist: In einem Element a kann wiederum Phraseninhalt notiert werden. Im Sinne einer guten Dokumentstruktur sollte es innerhalb eines Blockelementes oder Gruppierungselementes notiert werden, etwa in einem Absatz. Weiterer sinnvoller Inhalt des Elternelementes ist dann folglich interpretierter Text und andere Phrasenelemente.
HTML5 führt alternativ ein großzügigeres Inhaltsmodell ein: Das Element ist transparent, darin darf notiert werden, was im Elternelement erlaubt ist. Entsprechend kann übertragen werden: Was für das Elternelement eine sinnvolle Dokumentstruktur ist, trifft auch auf das darin befindliche Element a zu.
Ein Element a darf allerdings nicht Nachfahre eines anderen Elementes a sein. Innerhalb eines Elementes a dürfen auch keine anderen interaktiven Elemente stehen.
Der Inhalt des Elementes a, welches daher nie leer sein sollte, dient der Aktivierung des Verweises. Bei einer graphischen Darstellung etwa wird dieser Inhalt meist bunt (blau) und unterstrichen hervorgehoben und die Aktivierung erfolgt durch anklicken.
Natürlich sollte der umschlossene Text das Verweisziel möglichst treffend beschreiben, damit der Benutzer ungefähr weiß, wohin er gelangt, wenn der Verweis aktiviert wird. Mit dem allgemein verwendbaren Attribut title können auch Zusatzinformationen angeboten werden, die nicht im normalen Fließtext integriert werden, sondern dem Benutzer nur bei Bedarf oder vor eventueller Aktivierung des Verweises außerhalb des normalen Textflusses angezeigt werden.
Neben den allgemein verwendbaren Attributen hat a einige spezifische Attribute. Dies sind: href, hreflang, type, rel, rev, target, download, referrerpolicy. Diese sind allesamt optional.
Attribut href
[Bearbeiten]Das Attribut href gibt die URI/IRI (Netz-Adresse) des gewünschten Verweiszieles an. Alternativ kann auch ein # angegeben werden, direkt gefolgt von einem Fragmentidentifizierer auf der aktuellen Seite. Die Kombination ist ebenfalls möglich, erst die Adresse, dann das #, dann der Wert eines Fragmentidentifizierers.
Wird kein Attribut href angegeben, so kann das Element a natürlich auch nicht dazu dienen, einen Verweis zu aktivieren. Bei einigen früheren Versionen von (X)HTML hatte a dann noch eine spezielle Funktion, die aber mit der Einführung des Fragmentidentifizierers mit dem allgemein verwendbaren Attribut id überflüssig geworden ist.
Absolute Adressierung
[Bearbeiten]Es ist möglich, eine absolute Adressierung anzugeben, angefangen mit Protokoll, gefolgt vom Namen oder der IP des Rechners und der Verzeichnisstruktur bis zur Angabe des Dokumentnamens.
Dabei ist zu beachten, daß bei dem Teil mit der Angabe zur Verzeichnisstruktur und dem Dokumentnamen Groß- und Kleinschreibung signifikant ist.
Die absolute Adresse besteht aus der Angabe eines Schemas, gefolgt vom Namen oder der IP des Rechners, über dessen Dienst das referenzierte Dokument verfügbar gemacht werden soll.
Damit können also Verweise zu externen Dokumenten auf einem anderen Rechner notiert werden, sofern der angegebene Rechner bereit ist, über den mit dem Schema angegebenen Dienst das Dokument auszuliefern. Natürlich lassen sich so auch Verweise auf Ziele auf demselben Rechner realisieren, was allerdings dann unpraktisch ist, wenn sich IP oder Rechnername ändern.
Beispiel:
<a href="http://www.wikibooks.org/">Wikibooks - Inhaltsoffene Lehrbücher</a>
<a href="http://www.example.org/w/index.xhtml">Index-Dokument
im Verzeichnis "w" des Rechners www.example.org</a>
Es läßt sich als Schema natürlich nicht nur das Protokoll http verwenden, sondern auch andere, zum Beispiel https, ftp, sftp oder tel und auch Pseudoprotokolle, von denen in folgenden Abschnitten noch zwei erläutert werden. Alle Schemata werden grundsätzlich von einem Doppelpunkt gefolgt notiert, zum Beispiel http:.
Neben den von der IANA registrierten existieren auch weitere, nicht standardisierte, anwendungsspezifische Schemata, wie zum Beispiel about für die interne Verwendung in einigen Darstellungsprogrammen oder apt für die gleichnamige Paketverwaltung unter Linux.Zusätzlich kann das Protokoll/Schema auch entfallen, wobei Anzeigeprogramme das Protokoll des aufrufenden Dokumentes einsetzen. Dies ist insbesondere bei Dokumenten hilfreich, die sowohl über http als auch https erreichbar sind. Die URI/IRI wird dann lediglich mit zwei anführenden Schrägstrichen notiert:
<a href="//www.wikibooks.org/">Wikibooks - Inhaltsoffene Lehrbücher</a>
Relative Adressierung
[Bearbeiten]Alternativ kann auch eine relative Adressierung erfolgen. Relativ angegebene Adressen muß das Darstellungsprogramm immer zu einer absoluten Adresse auflösen, bevor ein Dokument abgerufen werden kann.
Wird im Dateikopf das Element base verwendet (oder in einem der Vorfahren in der XML-Notation das Attribut xml:base), gibt dieses an, worauf sich die relative Angabe bezieht, sonst bezieht sie sich auf das aktuelle Dokument, beziehungsweise Verzeichnis. So oder so vervollständigt das Darstellungsprogramm die relative Angabe zu einer absoluten, bevor eine Anfrage an ein Dienstprogramm erfolgt.
base wird im Kapitel über Metadaten erläutert.
Dabei kann wiederum unterschieden werden zwischen relativen und absoluten Pfadangaben. Relativ sind Angaben relativ zum aktuellen Dokument beziehungsweise Verzeichnis oder sofern mit base oder xml:base anderweitig angegeben auch relativ dazu:
<a href="bilder_10.xhtml">Bilder vom Oktober 2011 angucken</a> *
<a href="../2010/bilder_10.xhtml">Bilder vom Oktober 2010 angucken</a> *
<a href="../../index.xhtml">Heim</a>
Es ist auch möglich, eine absolute Pfadangabe zu notieren, bei welcher der Verweis auf das Wurzelverzeichnis des jeweiligen Dienstes zielt, entweder auf dem lokalen Rechner oder bei der Angaben von base auf dem damit angegebenen Rechner. Dabei ist zu beachten, daß je nach Dienst das Wurzelverzeichnis anders sein kann, insbesondere auch anders als das Wurzelverzeichnis im Dateisystem des Rechners, auf dem der Dienst läuft.
Eine absolute Pfadangabe beginnt mit einem einzelnen Schrägstrich:
<a href="/">oberstes Verzeichnis des aktuellen Dienstes</a>
<a href="/w/index.php">Index-PHP-Skript im Verzeichnis "w" des aktuellen Dienstes</a>
Verweise auf Fragmentidentifizierer
[Bearbeiten]Statt URIs/IRIs können auch Fragmentidentifizierer verwendet werden:
<h1 id="B2010">Bilder 2010</h1>
<section>
<h2 id="Jan">Januar</h2>
<div>...</div>
</section>
<section>
<h2 id="Feb">Februar</h2>
<div>...</div>
</section>
<section>
<h2 id="Mar">März</h2>
<div>...</div>
</section>
<section>
<h2 id="Apr">...</h2>
<div>...</div>
</section>
<nav>
<h1 id="Nav">Navigation</h1>
<ul>
<li><a href="#B2010">Bilder 2010</a></li>
<li><a href="#Jan">Bilder Januar</a></li>
<li><a href="#Feb">Bilder Februar</a></li>
<li><a href="#Mar">Bilder März</a></li>
<li>...</li>
<li><a href="#Nav">Navigation</a></li>
</ul>
</nav>
Dabei können die Verweise vor oder hinter den Fragmentidentifizierern stehen. Das Darstellungsprogramm analysiert die komplette Seite und sofern ein passender Fragmentidentifizierer irgendwo auf der Seite vorhanden ist, dient das zugehörige Element als Verweisziel, zu dem gesprungen wird. Dabei wird nur die Darstellung geändert, bei Verweisen zu Zielen im selben Dokument aber keine neue Anfrage an ein Dienstprogramm gestellt, also das Dokument nicht erneut geladen.
Fragmentidentifizierer können auch mit URIs/IRIs kombiniert werden. Zu beachten ist dabei, daß das Darstellungsprogramm die Angaben zum Fragmentidentifizierer immer selber auswertet, diese also nicht Bestandteil der Anfrage an das Dienstprogramm sind.
Beispiel:
<p>
Vergleiche den Zustand des Excimer-Lasers im
<a href="bilder_10.xhtml#B37">Oktober 2011</a> mit dem im
<a href="../2010/bilder_10.xhtml#B48">Oktober 2010</a> oder mit dem
<a href="http://example.org/exci-neu/#Detail13">Excimer-Laser der example-Kollegen</a>.
</p>
Verweise auf E-Mail-Adressen
[Bearbeiten]Wenn dem Publikum die Möglichkeit angeboten werden soll, direkt per E-Mail Kontakt aufzunehmen, dann kann das Pseudoprotokoll mailto: in dem href-Attribut verwendet werden. Gefolgt wird es von der E-Mail-Adresse, an welche die elektronische Post versendet werden soll. Voraussetzung für diese Möglichkeit ist, daß der Besucher über ein E-Mail-Programm verfügt und dies dem Darstellungsprogramm bekannt ist. Sollte das der Fall sein, öffnet sich beim Betätigen des Verweises ein Fenster oder das bevorzugte E-Mail-Programm, mit dem man seine E-Mail-Adresse und Nachricht bequem einfügen und senden kann. Sonst kommt zumeist eine Nachfrage, wie der Leser weiter vorgehen möchte.
<a href="mailto:vorname.nachname@example.org">vorname.nachname@example.org</a>
Verweise mit data:
[Bearbeiten]Entsprechend zu mailto: kann auch das Pseudoprotokoll data: verwendet werden. Dieses Pseudoprotokoll dient dazu, komplette Dateien in das Dokument einzubinden, was zum Beispiel nützlich ist, wenn für Bewerbungen oder sonstige Korrespondenz nur ein Dokument verschickt werden soll, welches aber weitere Dateien als Anhang bereitstellen soll.
Sinngemäß sieht die Verwendung wie folgt aus:
href="data:application/xhtml+xml;base64,-Dokumentdaten-"
Die URI/IRI beginnt mit der Angabe des Protokolles 'data', gefolgt von einem Doppelpunkt ':'. Dann folgt die Angabe des Inhaltstyps (ehemals MIME-Typ) des einzubettenden Dokumentes, zum Beispiel 'application/xhtml+xml' für ein XHTML-Dokument, 'image/png' für ein PNG-Dokument, 'image/jpeg' für ein JFIF/JPEG-Dokument, 'image/svg+xml' für ein SVG-Dokument etc. Dann folgt ein Semikolon ';'.
Bei Textdateien kann dann eine Angabe zur Kodierung des Textes erfolgen, etwa 'charset=UTF-8', gefolgt von einem Komma ',' und dann den Daten des Dokumentes. Da in einer URI einige typisch in Dokumenten auftauchende Zeichen nicht einfach so auftreten dürfen, sind diese entsprechend zu maskieren (englisch: URL encode). Ein Konflikt tritt zum Beispiel bereits auf, wenn in den Dokumentdaten die gleichen Anführungszeichen auftreten wie jene, mit denen der Attributwert umschlossen wird. Auch Leerzeichen sind in URIs/IRIs problematische Zeichen.
Mit base64 gibt es eine weitere effektive Methode, um eine geeignete Maskierung vorzunehmen. In dem Falle wird hinter der Angabe des Inhaltstyps und des Semikolons 'base64' angegeben, gefolgt von einem Komma und den Dokumentdaten.
Zum Beispiel hat auch die Skriptsprache PHP eine Funktion, mit welcher eine Kodierung als URI/IRI vorgenommen werden kann.
Attribut hreflang
[Bearbeiten]Mit dem Attribut hreflang kann angegeben werden, in welcher Sprache das referenzierte Dokument verfaßt ist. Der Wert entspricht dem vom allgemein verwendbaren Attribut xml:lang oder lang, siehe auch dort. Als Wert dient also ein Sprachkürzel gemäß BCP47, also im einfachsten Fall 'de' für deutsch, 'en' für englisch, 'fr' für französisch, 'it' für italienisch, 'es' für spanisch und so weiter, insbesondere noch 'x' für selbst festgelegte, experimentelle Varianten.
Sprachvariationen werden optional festgelegt, indem deren Kürzel hinter einem Bindestrich angefügt wird, also etwa de-AT für die Variante aus Österreich, de-CH für die aus der Schweiz, en-US für englisch im amerikanischen Dialekt etc. Auch weitere Subtypen sind möglich: de-DE-1996 für deutsch nach den Rechtschreibregeln von 1996 oder de-DE-1901 für die von 1901.
Auch hier kann das 'x' wieder dafür herhalten, eine eigene Sprachvariante anzugeben, zum Beispiel en-x-Hixie oder als weitere Untervariante auch en-US-x-Hixie (dies ist tatsächlich beim Arbeitsentwurf vom 2011-05-25 für HTML5 zu finden ;o).
Beispiel:
<p>Zum Thema 'Prosopagnosie im Alltag von Lehrern'
gibt es neben den Erfahrungsberichten auf dieser Seite auch
internationale Berichte, etwa aus
<a href="http://example.org/prosop_us/"
hreflang="en-US">den Vereinigten Staaten von Amerika</a>,
<a href="http://example.org/prosop_gb/"
hreflang="en-GB">Großbritannien</a>,
<a href="http://example.org/prosop_ch/"
hreflang="de-CH">Schweiz</a>,
<a href="http://example.org/prosop_fr/"
hreflang="fr">Frankreich</a>,
<a href="http://example.org/prosop_kl/"
hreflang="x-klingon">Klingonien</a>.
</p>
<p>
Das Problem ist nicht neu,
wie Berichte aus früheren Jahrzehnten aus Deutschland zeigen.
Es gibt bereits Berichte von
<a href="http://example.org/prosop_de_KR/"
hreflang="de-DE-1901">vor dem ersten Weltkrieg</a>,
aber auch welche aus der
<a href="http://example.org/prosop_de_BRD/"
hreflang="de-DE-1901">Bundesrepublik vor der 'Wiedervereinigung'</a>
und solche aus der
<a href="http://example.org/prosop_de_DDR/"
hreflang="de-DE-1901">Deutschen Demokratischen Republik</a>.
</p>
Attribut type
[Bearbeiten]Der Wert von type gibt den Inhaltstyp (ehemals MIME-Typ) des referenzierten Dokumentes an, was aber vorrangig relevant ist, wenn sonst keine andere Quelle zur Ermittlung des Inhaltsyps verfügbar ist.
Kann das Darstellungsprogramm den Typ allerdings nicht darstellen, kann die Information auch dazu dienen, das referenzierte Dokument gar nicht erst zu laden, sondern etwa den Nutzer zu fragen, was passieren soll.
Beispiel (SVG-Dokument): type="image/svg+xml"
Beispiel (PNG-Dokument): type="image/png"
Beispiel (JFIF/JPEG-Dokument): type="image/jpeg"
Beispiel (XHTML-Dokument): type="application/xhtml+xml"
Beispiel (HTML-Dokument): type="text/html"
Beispiel:
<a href="KarteSkulpturenInHannover.svg"
type="image/svg+xml">Interaktive
Karte mit Standorten der Skulpturen</a>,
<a href="SkulpturenInHannover.oga"
type="audio/ogg">Vortrag
über Skulpturen in Hannover</a>
Attribute rel und rev
[Bearbeiten]Mit den Attributen rel und rev wird ein Bezug zwischen dem referenzierenden und dem referenzierten Dokument hergestellt. Mittels rel wird angegeben, welche Beziehung das referenzierte Dokument zum aktuellen hat. Bei rev ist es umgedreht.
Bei einigen Werten können Aussagen über das andere Dokument eine Abwertung implizieren, etwa wenn damit angedeutet wird, daß das referenzierte Dokument veraltet oder ungültig sei. Damit solche Aussagen nachprüfbar und verläßlich sind, sollte das referenzierte Dokument dann jeweils eine inverse Information über das referenzierende machen, daß das andere also etwa die neue oder korrigierte Version ist, sonst werden solche Informationen zumeist nicht als relevant eingestuft, weil nicht automatisch vom Darstellungsprogramm beurteilt werden kann, ob ein Autor eines Dokumentes dazu qualifiziert ist, relevante Aussagen zu einem anderen Dokument zu machen. Teilweise ist die Verwendung von rev bei einigen Werten nicht sinnvoll, das ergibt sich dann automatisch aus dem Definition des Wertes.
Der Wert von rel und rev ist eine Liste von Einzelwerten, die mit Leerzeichen voneinander separiert werden. Explizit definiert sind für HTML5 folgende Werte (Groß- und Kleinschreibung ist nicht signifikant):
- alternate
- Eine Alternativversion des Dokumentes, dabei kann etwa mittels hreflang angegeben werden, in welcher anderen Sprache eine Alternative vorliegt. Entsprechend kann es auch zusammen mit media verwendet werden, um Alternativen für unterschiedliche Ausgabemedien anzubieten.
- author
- Autor des Referenzierten Dokumentes.
- bookmark
- Vorschlag für ein Lesezeichen, in title sollte dann ein passender Text notiert sein.
- external
- Information darüber, daß der referenzierte Inhalt nicht mit dem aktuellen Inhalt korreliert ist, also unabhängig, gegebenenfalls von anderen Personen verwaltet wird.
- help
- Hilfeseite, weitergehende Informationen.
- licence
- Hinweis auf eine Relation zu Lizenzbedingungen.
- next
- Nächstes Dokument einer Gruppe von zusammengehörigen Dokumenten.
- nofollow
- Hinweis, daß dem referenzierten Dokument nicht notwendig inhaltlich beigestimmt wird.
- noopener
- Hinweis auf einen neuen Sicherheitskontext beim Folgen des Verweises.
- noreferrer
- Hinweis, daß dem Dienstrechner, welcher das referenzierte Dokument ausliefert, nicht mitgeteilt werden soll, wo der Verweis notiert ist.
- prev
- Vorheriges Dokument einer Gruppe von zusammengehörigen Dokumenten.
- search
- Verweis auf eine Möglichkeit mit Suchhilfe oder Suchfunktion für das Dokument.
- tag
- Die referenzierte Adresse ist lediglich ein Schlüssel oder ein Identifizierer für das aktuelle Dokument.
Autoren können auch andere Werte verwenden. Damit diese eine Bedeutung haben, sollte diese allerdings eindeutig definiert werden, etwa mit der Erweiterung RDFa. Das sind dann Schlüsselwörter mit einem Präfix für einen definierenden Namensraum oder bestehend aus einer kompletten URI/IRI, um die Bedeutung festzulegen.
Mit der Erweiterung RDFa sind rel und rev übrigens allgemein verwendbare Attribute, im Kapitel des XHTML-Buches über RDFa werden weitere dadurch definierte Attributwerte genauer erläutert.
Beispiel einer Navgationsmöglichkeit, um die Sprache manuell auf eine Alternative umzustellen:
<p>Alternative Sprachvarianten der Index-Seite:
<a href="index.de.xhtml" hreflang="de">de</a>,
<a href="index.en.xhtml" hreflang="en"
rel="alternate">en</a>,
<a href="index.fr.xhtml" hreflang="fr"
rel="alternate">fr</a>,
<a href="index.it.xhtml" hreflang="it"
rel="alternate">it</a>,
<a href="index.es.xhtml" hreflang="es"
rel="alternate">es</a>,
<a href="index.kl.xhtml" hreflang="x-klingon"
rel="alternate">kl</a>
</p>
Natürlich besteht hier das Problem, daß Mitmenschen, die deutsch nicht verstehen, Probleme haben werden, die erste Zeile zu lesen. Immerhin stammen 'Alternative' und 'Index' aus dem Lateinischen und sind daher in vielen Sprachen ähnlich. Es kann allerdings auch helfen, zusätzlich zu den Sprachkürzeln noch kleine Flaggen als Piktogramme anzugeben, denn diese Methode ist weit verbreitet, um auf andere Sprachvarianten hinzuweisen, als Alterantivtext oder zusätzlich kann natürlich auch das Sprachkürzel gemäß hreflang zusätzlich direkt im Fließtext angegeben werden. Ebenfalls hilfreich kann es sein, eine Liste der Verweise einfach so anzulegen, daß jeder Listenpunkt in der Sprache des Verweiszieles auf dessen Inhalt verweist. Dazu ist dann natürlich bei jedem Listenpunkt auch für xml:lang der passende Wert zu setzen.
Attribut target
[Bearbeiten]Mit dem Attribut target kann der Autor einen Vorschlag machen, wo der referenzierte Inhalt angezeigt werden sollte.
Je nach Möglichkeiten des Darstellungsprogrammes und Voreinstellunungen und Wünschen des Nutzers des Darstellungsprogrammes wird das Darstellungsprogramm dann versuchen, einen für den Nutzer optimalen Darstellungsort bereitzustellen.
Das Attribut wurde ursprünglich eingeführt zusammen mit einer Rahmentechnik (englisch: frames) um mehrere Dokumente zu einer gemeinsamen Darstellung in einem Bereich zusammenzuführen.
Allerdings kann das Attribut target auch unabhängig von der Rahmentechnik eine Funktion haben. Der Grund für eine zwischenzeitliche Streichung in einigen früheren Versionen von (X)HTML lag in der Verknüpfung mit der Rahmentechnik. Die Argumente, weswegen es dann doch wieder aufgenommen wurde, dürften darin liegen, daß es auch weitergehende Funktionen hat und es in einem Dokument, welches in einem anderen Dokument referenziert wird, welches Rahmentechnik verwendet, auch noch dazu in der Lage sein sollte vorzuschlagen, wo referenzierte Inhalte dargestellt werden, zum Beispiel auch statt des Dokumentes mit der Rahmentechnik, um diese Anzeigemethode zu beenden.
Zum einen kann der Wert von target ein Name eines Rahmens sein, dort mit dem Attribut id, beziehungsweise auch noch mit dem veralteten name angegeben. Ein solcher beginnt immer mit einem Buchstaben (a-z, A-Z).
Zum anderen einen gibt es reservierte Werte für target zur unabhängigen Verwendung von der Rahmentechnik. Die reservierten Werte sind folgende einschließlich Bedeutung:
- _blank
- Name im Attributwert nicht zuzuordnen
- Das Darstellungsprogramm sollte das referenzierte Dokument in einem neuen, unbenannten Fenster anzeigen, entsprechend neuer Möglichkeiten kann am Programm auch eingestellt sein, daß das Dokument in einem neuen Anzeigebereich (auch Reiter, englisch: tab) dargestellt wird.
- _self
- Attributwert ist leer
- Das referenzierte Dokument sollte das referenzierende im selben Rahmen ersetzen.
- _parent
- Wird Rahmentechnik verwendet, so sollte das referenzierte Dokument im Elternrahmen darstellt werden, also dem nächsten übergeordneten. Wird keine Rahmentechnik verwendet, so ist das Verhalten das gleiche wie für '_self'.
- _top
- Wird Rahmentechnik verwendet, so sollte das referenzierte Dokument im obersten Fenster darstellt werden, alle anderen Rahmen ersetzend, die Rahmentechnik also beendend. Wird keine Rahmentechnik verwendet, so ist das Verhalten das gleiche wie für '_self'.
Beispiel für den Fall, daß sich ein Autor dagegen wehren muß, von anderen Autoren in anderen Projekten eingerahmt zu werden:
<p>
<a href="index.xhtml"
target="_top">Aus fremden Rahmen befreite
Darstellung der Startseite</a>
</p>
Beispiel Vergleich von Dokumenten:
<p>
Vergleiche verschiedene Spaßvarianten des Liedes
'Mein Hut der hat drei Ecken' mit dem Original auf dieser Seite:
</p>
<ul>
<li><a href="meinHuhnDasLegt3Eier-Meier.xhtml"
target="_blank">Mein Huhn das legt drei Eier</a> (Meier)</li>
<li><a href="meineWurstEsseIchIn3Happen-Wegener.xhtml"
target="_blank">Meine Wurst esse ich in drei Happen</a> (Wegener)</li>
<li><a href="meinMannDerHat3Geliebte-Schmitt.xhtml"
target="_blank">Mein Mann der hat drei Geliebte</a> (Schmitt)</li>
</ul>
Attribut download
[Bearbeiten]Mit dem Attribut kann angegeben werden, daß das referenzierte Dokument zum Herunterladen gedacht ist, also nicht zur direkten Präsentation im Darstellungsprogramm. Dieses sollte also eine entsprechende Funktionalität bereitstellen, um das Dokument abzuspeichern, dazu gegebenenfalls auch den Namen festzulegen oder zu ändern.
Der Wert, sofern nicht leer, ist ein Vorschlag, wie die Datei genannt werden könnte. Das Darstellungsprogramm sollte den Vorschlag also übernehmen und dem Publikum zum Ändern vor dem Speichern anbieten.
Beispiel
<p>Mit dem Mandala-Generator wird dein persönliches Mandala des Tages in Sekundenbruchteilen erstellt:<br />
<a href="mandala.php" download="Mandala2018-11-01.svg">Mandala-Generator</a>
</p>
Attribut referrerpolicy
[Bearbeiten]Das Attribut gibt an, welche Strategie bei der Angabe eines Bezuges verwendet werden soll. Ein Bezug (englisch: to refer - auf etwas Bezug nehmen), hier also eine Spur hinterlassen, woher das Publikum auf eine Adresse gekommen ist. Das zusätzliche 'r' hat historische Gründe. Konkret geht es darum, daß ein Darstellungsprogramm bei einem Abruf eines Dokumentes von einem Dienstprogramm angeben kann, von welchem Dokument der Aufruf stattfand, wo also die Ressource für den Zugriff referenziert wurde.
Der Wert ist ein Schlüsselwort:
- "no-referrer"
- keine Angabe
- "" oder "no-referrer-when-downgrade"
- Keine Angabe für als nicht vertrauenswürdig angesehene Quellen, komplette URI/IRI für die vertrauenswürdigen Quellen; Voreinstellung, wenn das Attribut nicht angegeben ist. Vertrauenswürdig sind Adressen derselben Domäne und bei HTTPS auch Sub-Domänen.
- "same-origin"
- Angabe nur bei selber Domäne.
- "origin"
- Angabe beinhaltet lediglich die Domäne, nicht die komplette URI/IRI des Dokumentes.
- "strict-origin"
- Angabe beinhaltet lediglich die Domäne, nicht die komplette URI/IRI des Dokumentes, allerdings gibt es nur eine Angabe bei derselben Domäne oder einer zugehörigen Sub-Domäne, sofern HTTPs verwendet wird, sonst keine Angabe.
- "origin-when-cross-origin"
- Bei derselben Domäne wird die komplette URI/IRI angegeben, bei Sub-Domänen nur die Domäne, sonst nichts.
- "strict-origin-when-cross-origin"
- Entsprechend, aber nur Angaben für HTTPs, nicht für HTTP.
- "unsafe-url"
- Die komplette URI/IRI wird immer angegeben.