Link-Element zur internen Seitennavigation
Bertold Bernreuter
- html
Hallo!
Mich würden Meinungen zur Frage interessieren, ob das Link-Element auch zur _internen_ Seitennavigation eingesetzt werden sollte/könnte, die Verweise also nicht auf andere Dateien, sondern auf Anker in der betreffenden Datei selbst zeigen würden. Etwa in der Art:
<link rel="chapter" href="#heading1" title="Das ist die Überschrift Nr. 1" />
Abgesehen davon, dass Opera (in standardkonformer Umsetzung der Specs) Anker als Verweisziele überhaupt nicht unterstützt (auch nicht in fremden Dateien), verträgt sich diese Verwendung nicht unbedingt mit dem Wortlaut der W3C-Spezifikationen, wo ausdrücklich von "Dokumenten" die Rede ist ("Refers to a document ..."). Man wird das nicht einfach wegdiskutieren können, dass das Link-Element (bzw. das Attribut "rel" oder "rev") zur logischen Strukturierung von Dokumenten, die in irgendeiner Beziehung zueinander stehen, vorgesehen ist.
Andererseits ergäben sich aber interessante und meiner Meinung nach durchaus sinnvolle Möglichkeiten zu einer alternativen internen Seitennavigation, gerade auch im Hinblick auf eine größtmögliche barrierefreie Gestaltung der Webseiten. Das ist auch die Richtung, aus der ich auf diese Idee gekommen bin, nachdem die Ergebnisse ausführlichen Herumexperimentierens mit Accesskeys doch eher durchwachsen blieben.
Zudem dürfte es gerade bei kleineren Webprojekten die hilfreichere Perspektive sein, sich innerhalb einer bestimmten Seite problemlos bewegen zu können als innerhalb des Projektes an sich, da dieses in dem angenommenen Fall sowieso über keine schwer durchschaubaren logischen Strukturen verfügen würde.
Um auf mein obiges Beispiel mit dem Link-Typ "chapter" zurückzukommen: Es scheint mir die weitaus häufigere Realität zu sein, dass ein einzelnes Dokument "lediglich" in verschiedene Kapitel (oder Abschnitte usw.) gegliedert ist als dass es selbst Teil einer größeren logischen Einheit wäre. Das ist bei einer umfassenden Dokumentationen wie SelfHTML natürlich durchaus der Fall; ansonsten halte ich das Web aber für nicht so sonderlich "logisch". Fakt scheint doch eher ein Nebeneinander zu sein, das gerade nicht auf logische Beziehungen zurückzuführen wäre (außer denen einer hierarchischen Strukturierung).
Kurz: Ich bin in dieser Frage unentschieden und wäre sehr interessiert, andere Meinungen dazu zu erfahren.
Dazu schon mal vielen Dank!
Viele Grüße
Bertold Bernreuter
Hallo,
Mich würden Meinungen zur Frage interessieren, ob das Link-Element auch zur _internen_ Seitennavigation eingesetzt werden sollte/könnte, die Verweise also nicht auf andere Dateien, sondern auf Anker in der betreffenden Datei selbst zeigen würden.
Nein, denn die Aussage: "The LINK element defines a relationship between the current document and another resource." ist an sich klar genung was dies betrifft.
Abgesehen davon, dass Opera (in standardkonformer Umsetzung der Specs) Anker als Verweisziele überhaupt nicht unterstützt (auch nicht in fremden Dateien),
Was meinst du damit?
Die HTML-Spez. macht einen Unterschied zwischen einem Link und einem Anker. Es wird eben gesagt, dass ein Link zwei Enden - diese Werden als Anker genannt - hat.
Wenn also Opera Anker nicht unterstützen würde, würde er kein Browser sein.
Auf alle Fälle standardkonform ist, dass ein Anker ein Werweisziel ist, eben der "destination anchor".
Wenn du meinst, dass Opera (zumindest bis 7.11) keine:
<link rel="chapter" href="datei.html" title="blabla" />
<link rel="section" href="datei.html#sprache" title="Sprache" />
unterstützt, hast du recht. Mag mag das sogar als Manko auslegen.
Man wird das nicht einfach wegdiskutieren können, dass das Link-Element (bzw. das Attribut "rel" oder "rev") zur logischen Strukturierung von Dokumenten, die in irgendeiner Beziehung zueinander stehen, vorgesehen ist.
Das möchte ja auch keiner wegdiskutieren. ;-)
Andererseits ergäben sich aber interessante und meiner Meinung nach durchaus sinnvolle Möglichkeiten zu einer alternativen internen Seitennavigation,
Das sei dahingestellt, zumal es keine Vorgaben gibt wie - wenn überhaupt - Browser das Link-Element verwenden und darauf reagieren sollten.
Zudem dürfte es gerade bei kleineren Webprojekten die hilfreichere Perspektive sein, [...] da dieses in dem angenommenen Fall sowieso über keine schwer durchschaubaren logischen Strukturen verfügen würde.
Vielleicht wäre es hilfreich, aber dadurch würde erstens der Usabilitiy leiden, denn die Links kann man dann nicht mehr direkt sehen/lese und zweites, wie gesagt, es gibt keine Vorgaben ,dass Browser etc. <link> unterstützen müssen.
Außerdem, bei kleinen Webprojekten braucht man nicht unbedingt eine seiteninterne Navigation.
Um auf mein obiges Beispiel mit dem Link-Typ "chapter" zurückzukommen: Es scheint mir die weitaus häufigere Realität zu sein, dass ein einzelnes Dokument "lediglich" in verschiedene Kapitel (oder Abschnitte usw.) gegliedert ist als dass es selbst Teil einer größeren logischen Einheit wäre.
Hm ... jede "Dokument" ist aber Teil einer Webseite, kann einen Index-, eine Impressum- (Copyright), eine alternative Version- (print, ander Sprache), eine Über dem Autor- eine Hilfeseite haben. Bei kleinen Webseiten reicht das mit dem prev + next auch schon aus. Bzw. die Frage ist überhaupt, brauchen kleine Webseiten denn <link>?
Grüße
Thomas
Hallo Thomas!
Wenn du meinst, dass Opera (zumindest bis 7.11) keine:
<link rel="chapter" href="datei.html" title="blabla" />
<link rel="section" href="datei.html#sprache" title="Sprache" />
unterstützt, hast du recht. Mag mag das sogar als Manko auslegen.
Gemeint ist natürlich ein Verweisziel im LINK-Element.
Dein erstes Beispiel unterstützt Opera (ich bin noch mit win7.03 unterwegs) schon, das zweite nicht. Du hast recht, das ist ein Manko, denn es widerspricht in keiner Weise irgendwelchen Spezifikationen.
Dass er
<link rel="section" href="#sprache" title="Sprache" />
nicht unterstützt, kann man dagegen als standardkonform ansehen. Das von dir angeführte Zitat ("The LINK element defines a relationship between the current document and another resource.") illustriert ja recht eindrücklich, dass zwei verschiedene Dateien gemeint sind.
Das sei dahingestellt, zumal es keine Vorgaben gibt wie - wenn überhaupt - Browser das Link-Element verwenden und darauf reagieren sollten.
Nun, genau das sehe ich als große Chance an. Es gibt nämlich zum Beispiel einem Browser für Sehbehinderte die Freiheit, es benutzergerecht zu interpretieren. (Frag mich nicht wie; ich kenne mich da nicht aus.)
Vielleicht wäre es hilfreich, aber dadurch würde erstens der Usabilitiy leiden, denn die Links kann man dann nicht mehr direkt sehen/lese
Naja, jetzt setzt du aber voraus, dass man im Gegenzug zur ausgiebigen Nutzung des LINK-Elements die Navigation im Body streichen würde. Ich verstehe es dagegen als _zusätzliche_ Hilfe.
Außerdem, bei kleinen Webprojekten braucht man nicht unbedingt eine seiteninterne Navigation.
Die Nützlichkeit einer seiteninternen Navigation hängt aber doch nicht von der Größe des Webprojekts, sondern vielmehr von der Länge der Seite selbst ab.
Hm ... jede "Dokument" ist aber Teil einer Webseite, kann einen Index-, eine Impressum- (Copyright), eine alternative Version- (print, ander Sprache), eine Über dem Autor- eine Hilfeseite haben.
Das ist zweifellos richtig.
Mir würde eine "Mischnutzung" vorschweben. Manche Attribute (wie "alternative", "next" usw.) dienen dem Verweis auf andere Dokumente, andere Attribute (wie "chapter", "section" usw.) dem Verweis innerhalb des Dokuments. Wenn man sich die Site Navigation Bar im Mozilla ansieht, gibt es da ein Menü "Document", in dem sich (vor allem) letztere Attribute finden. (Allerdings ist es auch nicht ganz stringent.)
Vielleicht denke ich zu sehr von den Texten aus, die ich gerade layoutiere. Da gibt es nämlich in jedem Dokument ein Inhaltsverzeichnis, Kapitelüberschriften, eine Autorinformation usw. Und es ist sehr verführerisch, diese sowieso schon verhandene Information auch über das LINK-Element verfügbar zu machen.
Viele Grüße
Bertold Bernreuter
Hi,
Auch wenn ich deinen Überlegungen durchaus etwas abgewinnen kann, glaube ich dennoch, dass man um die Realität nicht herum kommt, dass das <link>-Element ("nur") zur Verdeutlichung von Beziehungen unterschiedlicher Dokumente gedacht ist. Zwar findet auch die Nutzung für Verweise auf dateiinterne Anker ihre Fürsprecher im Netz; siehe zum Beispiel: http://www.stichpunkt.de/beitrag/link-element.html
Aber ich denke, dass führt in die falsche Richtung.
Mir würde eine "Mischnutzung" vorschweben. Manche Attribute (wie "alternative", "next" usw.) dienen dem Verweis auf andere Dokumente, andere Attribute (wie "chapter", "section" usw.) dem Verweis innerhalb des Dokuments. Wenn man sich die Site Navigation Bar im Mozilla ansieht, gibt es da ein Menü "Document", in dem sich (vor allem) letztere Attribute finden. (Allerdings ist es auch nicht ganz stringent.)
Nun, du sagst es ja implizit schon selbst: Das wäre alles nicht "stringent" und standardkonform schon gar nicht. Gerade eine "Mischnutzung" fände ich für eine logisch aufgebaute Benutzerführung eher kontraproduktiv. Da müssen andere Möglichkeiten her. Vielleicht ja doch der Einsatz von Tastaturkürzeln - im Hinblick auf Barrierefreiheit.
Ciao,
Marco
Hallo Bertold,
Gemeint ist natürlich ein Verweisziel im LINK-Element.
Dein erstes Beispiel unterstützt Opera (ich bin noch mit win7.03 unterwegs) schon, das zweite nicht.
Hm... komisch, bei mir zeigt der 7.11-er keine "chapter" an.
Das sei dahingestellt, zumal es keine Vorgaben gibt wie - wenn überhaupt - Browser das Link-Element verwenden und darauf reagieren sollten.
Nun, genau das sehe ich als große Chance an. Es gibt nämlich zum Beispiel einem Browser für Sehbehinderte die Freiheit, es benutzergerecht zu interpretieren. (Frag mich nicht wie; ich kenne mich da nicht aus.)
Das ist richtig, dennoch bedenke, dass die Link-Elemente nur über ein gesonderten Menü des User Agents erreicht werden könn(t)en und bei Vorlesen einer Seite auch gleich am Anfang vorgelesen werden würden.
Dann halte ich eine Seiteninterne Navigation schon für etwas besser, da diese nicht nur im Seitenkopf, sondern auch an der entsprechenden Stellen in der Seite verwendet werden können.
Naja, jetzt setzt du aber voraus, dass man im Gegenzug zur ausgiebigen Nutzung des LINK-Elements die Navigation im Body streichen würde. Ich verstehe es dagegen als _zusätzliche_ Hilfe.
Du hast recht, mir erschien aber diese doppelte Verlinkung als eine unnötige Redudanz, was mehr Arbeit als echten Nutzen bringt. (z.B. alle Links müssten doppelt überprüft werden)
Die Nützlichkeit einer seiteninternen Navigation hängt aber doch nicht von der Größe des Webprojekts, sondern vielmehr von der Länge der Seite selbst ab.
Wenn eine einzele Seite so lang ist, dass sie eine Navigation von "chapter" "section" und subsektion" braucht, ist sie vielleicht bereits falsch strukturiert und sollte auf mehrere kleinere Dokumente aufgeteilt werden. Z.B. die XSLT-Spaz. vom W3C ist eine einzige HTML-Seite, sie ladet sogar offline ewig lang und das hin und herspringen im Dokumnent ist ziemlich mühsam.
Mir würde eine "Mischnutzung" vorschweben. Manche Attribute (wie "alternative", "next" usw.) dienen dem Verweis auf andere Dokumente, andere Attribute (wie "chapter", "section" usw.) dem Verweis innerhalb des Dokuments. Wenn man sich die Site Navigation Bar im Mozilla ansieht, gibt es da ein Menü "Document", in dem sich (vor allem) letztere Attribute finden. (Allerdings ist es auch nicht ganz stringent.)
Jein. Mich stört bereits, dass man an sich unendlich viele "chapter" "section", "subsection" definieren kann, aber es nicht möglich ist, diese einander zuzuordnen. z.B. es gib einen "normalen" chapter mit sectionen, aber was wenn ich in auch in der Indexseite sectionen (z.B. nach Buchstaben) definiere? Dann stehen u.U. 30 <link rel="section> im Header, aber ich kann davon die "buchstaben-sectionen" nicht dem Index unterordnen.
Und die Browser werden dann in der Site-Navigation alle 30 sectionen zusammen anzeigen.
Übrigens: Mozilla unterstützt auch Seiteninterne <link>s
<link rel="section" href="#hypertext" title="Hypertext" />
<link rel="section" href="#metatext" title="Metatext" />
Grüße
Thomas
Hallo Thomas und Marco!
Hm... komisch, bei mir zeigt der 7.11-er keine "chapter" an.
Tja, da habe ich zu schnell gelesen; du hast natürlich Recht. Allerdings würde Opera dein erstes Beispiel mit bestimmten anderen "rel"-Werten unterstützen. (Ist banal.) Etwa so etwas:
<link rel="contents" href="datei.html" title="blabla" />
Wenn eine einzele Seite so lang ist, dass sie eine Navigation von "chapter" "section" und subsektion" braucht, ist sie vielleicht bereits falsch strukturiert und sollte auf mehrere kleinere Dokumente aufgeteilt werden.
Da ist natürlich sehr viel Wahres dran...
Und die Browser werden dann in der Site-Navigation alle 30 sectionen zusammen anzeigen.
Deswegen habe ich auch alle seiteninternen Verweise auf meiner Seite nun wieder gestrichen. Es ist einfach nicht stringent, mal auf externe, mal auf interne Ziele zu linken. Und standardkonform auch nicht.
Übrigens: Mozilla unterstützt auch Seiteninterne <link>s
<link rel="section" href="#hypertext" title="Hypertext" />
<link rel="section" href="#metatext" title="Metatext" />
Nun ja, darum ging's mir ja die ganze Zeit...
Viele Grüße
Bertold Bernreuter