...für JavaScript-Verweigerer
Patrick Andrieu
- barrierefreiheit
Hallo alle!
Bei der Planung einer Startseite (und es geht nur um die Startseite), der mittels JavaScript etwas Dynamik verpasst werden sollte, habe ich zwei Möglichkeiten, um den JavaScript-ablehnenden Besuchern den Inhalt nicht vollends zu verweigern:
1. ich gestalte die Seite im Hinblick auf deren Darstellung
mit aktiviertem JavaScript und hänge einen noscript-Bereich
mit dem dem selben Inhalt in einem Quelltextabschnitt nur für die
Besucher ohne JavaScript dran
2. ich nutze einen Code, der es mir erlaubt, je nach dem ob
JavaScript aktiv ist oder nicht, die betroffenen Bereiche
ein- oder auszublenden
Die Realisierbarkeit beider Lösungen ist nicht das Problem, lediglich die zweite bedeutet etwas mehr Arbeit. Da die Seite aber irgendwann in Suchmaschinen gefunden werden will, erscheint mir die erste Lösung aus dem Grunde vorteilhafter, weil der Inhalt zwei Mal vorhanden ist und sich somit die Anzahl der Keywords, auf die es ankommt, verdoppelt (wenn man visibility:hidden statt display:none benutzt [1]). Andererseits verlängert es unnötigerweise den gesamten Quelltext.
Bei der zweiten Lösung müsste es so sein, dass die betroffenen Bereiche mit JavaScript erst mal ausgeblendet, dann wieder mit JavaScript positioniert, sichtbar gemacht werden, etc.. Vorteil hier: kürzeren Quelltext insgesamt
Daher interessiert mich Eure Erfahrung, wie handhabt Ihr so was, was schlagt Ihr vor etc...
[1] Bis jetzt machte ich die Erfahrung, dass Keywords in mit visibility:hidden formatierten Bereichern gefunden werden, bei display:none nicht.
Viele Grüße aus Frankfurt/Main,
Patrick
hi,
Da die Seite aber irgendwann in Suchmaschinen gefunden werden will, erscheint mir die erste Lösung aus dem Grunde vorteilhafter, weil der Inhalt zwei Mal vorhanden ist und sich somit die Anzahl der Keywords, auf die es ankommt, verdoppelt
Ich sehe da zwei Nachteile:
Bei der zweiten Lösung müsste es so sein, dass die betroffenen Bereiche mit JavaScript erst mal ausgeblendet, dann wieder mit JavaScript positioniert, sichtbar gemacht werden, etc.. Vorteil hier: kürzeren Quelltext insgesamt
Ausblenden generell geht ganz fix und einfach, in dem du nach oder schon während des Ladens per Javascript dem Body eine Klasse zuweist, mit der die betreffenden Elemente per Nachfahrenselektor ausgeblendet werden.
Nachher dann einzeln wieder sichtbar machen kannst du sie ja per Javascript nach Belieben.
gruß,
wahsaga
Hallo wahsaga!
Ich sehe da zwei Nachteile:
Sowohl aus Sicht einer Suchmaschine als auch eines Textbrowsers wirst du eine Quaselstrippe sein
Bin ich das nicht schon? ;)
eine Quaselstrippe sein, die sich wiederholt.
Bin ich das nicht schon? ;)
Außerdem könnte ich die Texte jeweils etwas anders formulieren, als Quaselstrippe fällt mir das sicher nicht schwer ;)
Wie gesagt, die Realisierbarkeit ist ansonsten nicht das Problem, es geht mir nur um Meinungen.
Viele Grüße aus Frankfurt/Main,
Patrick
Hallo Patrick,
[1] Bis jetzt machte ich die Erfahrung, dass Keywords in mit visibility:hidden formatierten Bereichern gefunden werden, bei display:none nicht.
na ja, hidden hat den Nachteil, dass der Platz ja reserviert bleibt
und somit gestalterisch nahezu nicht zu verwenden.
Erfahrungsgemäss (bei mir zumindest) gibt es keinerlei Probleme
den (ausnahmsweise vernünftigen) Vorschlag von wahsaga umzusetzen;-)
Du wolltest Meinungen:
Ok, ich bin kein wirklicher JS Fan, aber dennoch ist es ein
enorm starkes Mittel, seine Seiten ein wenig Leben und Funktionalität
einzuhauchen. Und für Adminstrationsseiten eine Riesenarbeitserleichterung, somit will ich mittlerweile gar nicht
mehr auf JS verzichten(Saulus -> Paulus). Aber in Maßen.
Alternativ, gibt es nur noch Flash, aber dann doch lieber JS.
Oder serverseitige Umsetzung des Ganzen, was dann aber oft
wie "Kanonen auf Spatzen" anmutet.
Zu deiner Variante 1, das lieber nicht, macht keinen Sinn.
carpe diem
Pia
Hallo Pia!
na ja, hidden hat den Nachteil, dass der Platz ja reserviert bleibt
und somit gestalterisch nahezu nicht zu verwenden.
Nicht, wenn man die hidden-Elemente so positioniert, dass sie z.B. auf gleicher Höhe wie die visible stehen. Das JavaScript kann sie später anders positionieren, so dass ohne JavaScript nichts zu sehen ist.
Ok, ich bin kein wirklicher JS Fan,
Ich schon. Ich sag's wie Struppi in seiner Signatur: "JavaScript ist toll, PERL auch" - auch wenn ich noch viel Lernbedarf habe ;)
Alternativ, gibt es nur noch Flash
Igitt ;)
Zu deiner Variante 1, das lieber nicht, macht keinen Sinn.
Ich werde auch die 2. als offizielle Lösung für die geplante Startseite bevorzugen, werde dennoch ein Google-Test mit Variante 1 machen. Beizeiten berichte ich hier im Forum, welche Seite mehr Erfolg hat bei einer Suchmaschinensuche hat.
carpe diem
Ein Karpfen am Tag? Nö, ich esse nur selten Fisch ;)
Viele Grüße aus Frankfurt/Main,
Patrick
Hallo Patrick,
Du könntest auch alles, was nur mit JS einen Sinn macht, per JS erzeugen, z.B. mit document.write. Wenn alles in einer separaten .js-Datei steht, wird es von nicht-JS-lern noch nicht einmal geladen.
Gruß, Jürgen
Hallo JürgenB!
Ups, vor lauter Antworteifer den eigenen Thread fast vergessen!
Du könntest auch alles, was nur mit JS einen Sinn macht, per JS erzeugen, z.B. mit document.write. Wenn alles in einer separaten .js-Datei steht, wird es von nicht-JS-lern noch nicht einmal geladen.
Daran habe ich auch gedacht, auch an createElement ff. um die Elemente zu erzeugen. Allerdings muss dann auch der ganze Inhalt in die .js Datei, dann ist mir die Lösung mit ausblenden/einblenden doch lieber.
Viele Grüße aus Frankfurt/Main,
Patrick