Viele Seiten im Internet benutzen mittlerweile JavaScript um einen Ticker zu erzeugen oder etwas dynamisch anzeigen zu lassen.
Allerdings machen sich die wenigsten Gedanken über die Besucher, die ohne JavaScript surfen.
Es gibt eigentlich zwei Hauptbereiche, in denen man auf die Benutzerfreundlichkeit achten sollte:
Einmal dynamisch eingebundener Text und das andere sind die Links, die etwas aufrufen.
Beginnen wir mit dynamischen Text:
Vielleicht benutzten Sie ja einen Text, der hereinschwebt, oder Sie haben einen Farbenwechsler. Doch was es auch ist, der User ohne JavaScript wird nichts davon sehen.
Also binden Sie am Besten nach einem dynamischen Text einen <noscript>-Bereich ein. Dieser wird vom Browser nur ausgeführt, wenn das Script davor nicht ausgeführt werden konnte.
Beispiel:
<script type="text/javascript">
document.write("Sie haben JavaScript aktiviert.");
</script>
<noscript>
Sie haben leider kein JavaScript aktiviert.
</noscript>
Dieser Code würde feststellen, ob der User JavaScript aktiviert hat und den jeweiligen Text ins Dokument schreiben.
Kommen wir nun zu den Links:
Viele leiten einen JavaScript-Link (der eine Funktion aufrufen soll) so ein:
<a href="javascript:los()">Popup</a>
Allerdings ist das keine gute Möglichkeit, denn für soetwas sind eigentlich die event-Handler da:
<a href="#" onclick="los();">Popup</a>
Nun wird erreicht, dass das Dokument durch # erneut verlinkt wird und dann wird die Funktion "los()" aufgerufen.
Allerdings ist das noch immer nicht die perfekte Lösung.
Die perfekte Lösung sieht etwa so aus:
<a href="javascript_geht_nicht.htm" onclick="los();return false;">Popup</a>
Zuerst ist es ein ganz normaler Link, der auf die Seite "javascript_geht_nicht.htm" verweist. Allerdings schaltet sich bei einem Klick das Event ein und ruft zuerst die Funktion "los()" auf und danach wird duch return false abgebrochen, wenn der bisherige Vorgang funktioniert hat.
Nochmal zusammenfassend:
Wenn man bei diesem Link JavaScript aktiviert hat wird die Funktion "popup()" aufgerufen.
Wenn diese ohne JavaScript-Fehler zu Ende geführt wird, ist der Link außer Kraft gesetzt, denn return false bricht den Rest ab.
Ist der User mit deaktiviertem JavaScript unterwegs klickt er auf den Link.
Der event-Handler wird gar nicht erst angesprochen und so tritt der Link ein. Der Benutzer ist auf der Seite "javascript.htm". Und auf dieser Seite kann ja dann gesagt werden, dass dafür JavaScript erforderlich war und er statt der Ausführung auf dieser Seite gelandet ist.
Am Besten lässt sich das bei Bildern nutzen.
Oft werden ja sogenannte Thumbnails (Miniatur-Bilder) zur Bildervorschau genutzt.
Klickt man auf ein Bild wird oft ein Popup mit dem Bild darin geöffnet.
So sieht der Link dafür aus:
<a href="dasbild.gif" target=_blank onclick="popup('dasbild.gif');">Bild anzeigen</a>
Bei aktiviertem JavaScript wird das Bild in einem neuen Fenster geöffnet (kein Popup).
Ist JavaScript allerdings aktiviert, wird die Funktion "popup()" aufgerufen. Dieser wird dann der Bildername übergeben und so könnte diese Funktion z.B. ein Popup mit dem Bild darin öffnen.