Das ganz normale Chaos, täglich frisch auf den Tisch. Direkt aus der hintersten Provinz in die Metropolen von Groß-Blogistan.


  1. Skiplink überflüssig
  1. Skiplink überflüssig

    Sat, 19 Apr 2008 07:14:13 GMT

    Jedenfalls bei XHTML.

    Wozu dient ein Skiplink eigentlich? Nun, in den meisten Fällen beginnt eine Webseite mit dem Titel, gefolgt von einer möglicherweise langen Navigationsliste, gefolgt von einer Sidebar mit sonstigem Inhalt (wie z.B. Werbung), und erst ganz zum Schluss kommt der Inhalt. Visuell wird das insofern versteckt, als dass diese Bereiche per CSS nicht nacheinander, sondern nebeneinander dargestellt werden. Doch, wie das Wort "visuell" bereits erahnen lässt: Von diesem Nebeneindander hat nur Derjenige was, der auch sehen kann. Ein Blinder kann nicht sehen. Eine Maschine kann auch nicht sehen.

    Ein Blinder muss sich die Seite vorlesen lassen. Eine Seite wird so vorgelesen, wie die Software den Inhalt in der Datei vorfindet. Also nacheinander. Bevor also ein Blinder endlich zum Inhalt einer Seite vordringen kann, muss er sich minutenlang endlose Navigations- und Werbelisten anhören. Das ist ungefähr so, als müsste ein Sehender vor dem Krimi im Fernsehen erst mal sich das örtliche Telephonbuch vorlesen lassen. Das ödet an. Kein Intendant beim Fernsehen ist so blöd, die Kunden vor dem Krimi mit einer Vorlesung aus dem Telephonbuch zu belästigen. Webdesigner hingegen sind so blöd. Deswegen fügen gute Webdesigner am Anfang der Seite, vorzugsweise direkt nach dem Titel, einen sogenannten Skiplink ein. Damit wird dann nach dem Titel als erstes der Skiplink vorgelesen. Ein Blinder kann nun schnell entscheiden, dass ihn das Telephonbuch nicht interessiert, und kann direkt zum Inhalt vordringen. Ungefähr wie die fast forward Funktion bei Videoplayern.

    Eine Maschine wie der Google Suchmaschinenspider durchsucht die Webseiten ebenfalls. Auch so ein Spider kann nicht sehen. Er kann nur den Inhalt der HTML-Datei lesen, so, wie es eben dort drin steht. Also auch schön der Reihe nach. Dieser Suchmaschinenspider bewertet nun die Relevanz der einzelnen Worte der Seite. Dabei spielt es eine Rolle, ob das Wort eher am Anfang oder eher am Ende der Seite steht. Worte, die eher am Anfang stehen, haben eine höhere Relevanz. Worte, die also erst nach dem Telephonbuch stehen, haben also eine eher geringe Relevanz. Auch, wenn diese Worte eigentlich ganz am Anfang des Inhalts stehen. Doch das nützt Nichts, wenn dieser Inhalt erst ganz zum Schluss der Seite kommt.

    Bei XHTML könnte das nun eventuell überflüssig sein. Warum zieht man denn nicht einfach den Inhalt vor und schreibt das Telephonbuch dahinter? Tja, dann gibt's Probleme mit der visuellen Darstellung. Hier reichen die Möglichkeiten von CSS nicht mehr aus. Doch wozu gibt es XSL? Ein einfaches, simples XSL Stylesheet am Anfang der XHTML Datei könnte dazu dienen, die Inhaltsblöcke schlicht umzusortieren, bevor diese neu sortierten Blöcke dann per CSS fein gemacht werden. Das ändert am Inhalt der XHTML-Seite Nichts. Ein Googlebot wie auch ein Blinder findet also nach dem Titel als Erstes den Inhalt der Seite, und das Telephonbuch ganz zum Schluss. Ganz so, wie es sein sollte. Doch die CSS Renderingeinheit des Browsers findet die Blöcke in der umsortierten Folge vor, die nötig ist, um die Blöcke nebeneinander darzustellen.

    Fazit: Bei XHTML kann der Skiplink tatsächlich überflüssig sein. Für die Umsortierung via XSL muss das XHTML natürlich valide oder zumindest wohlgeformt sein. Und es wird ein moderner Browser benötigt, der einerseits XML resp. XHTML darstellen kann und andererseits auch mit XSL umgehen kann. Alle modernen Browser können das. Alle,? Nein, nicht Alle. Ein kleines gallisches... Äh, naja, wir wissen, um welchen Browser es geht. Doch auch mit dem IE lässt sich was erreichen. Die XSL Fähigkeit kann man dem IE nachrüsten. Dazu kann man von Microsoft die MSXSL Komponenten laden und installieren. Damit kann er dann immerhin XSL. Das Problem bleibt XHTML. Dieses sollte per mime typ application/xhtml+xml gesendet werden. Daran erkennt der IE, dass es sich nicht um HTML, sondern um XML handelt, und macht die Grätsche. Doch zumindest für die etwas ältere Version XHTML 1.0 kann man die Dateien notfalls alternativ auch als text/html senden. Dann glaubt der IE, HTML vorsich zu haben, und kooperiert mehr oder weniger. Die Einzelheiten hierzu müssten allerdings noch erforscht werden. Vielleicht wäre es besser, diese XHTML Dateien dem IE als text/xml zu liefern, damit das XSL Stylesheet auch tatsächlich angewandt wird. Mangels IE kann ich diese Experimente nicht selber durchführen.

    Aber zumindest für moderne Browser sollte dies bezüglich Skiplink der Königsweg sein. Meine Seiten werde ich so nach und nach auf dieses System umstellen. Also jedenfalls die XHTML Varianten davon. Ich biete ja sowohl als auch an. In der HTML Variante bleibt dann natürlich der Skiplink erhalten.