Sprung zum Inhalt

Webdesign nach Maß von webdesign weisshart

Mein Blog

RSS Feed AbonnementRSS 2.0 Feed

zum Archiv und den Kategorien

Die Zoom Funktion im IE 7

Samstag, 13. Januar 2007

… ist schlichtweg eine Katastrophe.

Ob Bilder beim Verkleinern oder Vergrößern mitgezoomt werden sollen, darüber kann man ja streiten. Die Qualität der gezoomten Bilder ist in der Regel so katastrophal, daß ich gern drauf verzichten kann. Ein Browser ist kein Bildbearbeitungsprogramm.
Mir persönlich ist die Firefox-Lösung, Bilder unangetastet zu lassen, sympathischer.

Aber wenn schon Bilder zoomen, dann kann's der Opera besser.

Und schlichtweg unzumutbar und unbrauchbar wird die Zoomlösung des IE 7 durch das "feature", die Seitenbreite auch dann mitzuzoomen, wenn die Seite mit einem liqiud design ausgestattet ist, also immer nur die verfügbare Breite des Browserfensters einnimmt. Bei einer Änderung des Zoomfaktors ändert der IE auch die angezeigte Seitenbreite!
Soll ich mir jetzt einen größeren Monitor kaufen, nur weil eine Seite in einer für meinen Geschmack zu kleinen Schriftgröße erstellt wurde?


Barrierefreies Javascript?

Freitag, 12. Januar 2007

Ich bezeichne meinen Chat als barrierefrei.
Nein, mein Chat ist nicht barrierefrei.
Und zwar, weil WAI und BITV unter anderem verlangen, dass barrierefreie Webseiten auch ohne Javascript zugänglich sein müssen.
In letzter Zeit wird viel über barrierefreies pdf und barrierefreies flash diskutiert.
Wer keinen pdf reader oder kein flash installiert hat, wird auch zu barrierefreien pdfs und barrierefreiem flash keinen Zugang erhalten.

Ist die Analogie erkennbar?
Ich behaupte einfach, dass mein Chat "barrierefreies Javascript" verwendet.
Die Seite, die der Browser darstellt, beinhaltet nämlich gar kein Javascript mehr.
Vielmehr wird durch Javascript - genauer: AJAX - eine (fast) normale (X)HTML Seite erzeugt. (Dass die Quelltext-Anzeige des Internet Explorer dies nicht zeigt, ändert nichts an der Tatsache.) Und damit der Browser dieses Kunststück vollbringen kann, muss natürlich Javascript erlaubt sein.

Noch ein Vergleich gefällig?
Ein hochgradig Hörbehinderter, der sein Hörgerät nicht einschaltet, kann nicht Radio hören.
Wer Javascript deaktiviert hat, kann den Chat nicht benutzen.
Sturheit und Starrsinn sind keine Barrieren.

Weitere Aspekte und denkbare Kritikpunkte:

  • HTML und CSS validieren, das Javascript erzeugt keine Fehler und Warnungen.
  • Der Chat verwendet weder Frames noch Layout-Tabellen.
  • Die Seite ist semantisch korrekt gegliedert, und mit (zum Teil unsichtbaren) Überschriften strukturiert. Listen und Formularelemente sind mit (unsichtbaren) Hinweisen versehen.
  • Die Schriftgröße kann (fast) beliebig skaliert werden.
  • Kontraste: da jeder Benutzer des Chat die Möglichkeit hat, sowohl die Hintergrundfarbe (verschiedene Skins) als auch die eigene Nick- und Textfarbe zu wählen, kann eine unglückliche Kombination zu schlechten Kontrasten führen. Dieses Manko ist durch wenige, einfache Anpassungen am Script bei Bedarf leicht zu beheben. Durch Wahl der Anzeigeoption "Farben aus" kann der User dies abstellen. In der Demoinstallation auf meiner Seite nehme ich dieses Manko zugunsten des Geschmacks der Mehrheit der typischen Chatter in Kauf.
  • Es werden animated gifs für verschiedene Smileys verwendet. Der Admin kann entsprechende Smileys löschen.
  • Uralt Browser wie IE 5.0 und Netscape Navigator 4, und natürlich auch alle Textbrowser, wie z.B. Lynx, die kein AJAX verstehen, bleiben leider aussen vor. (IE ab Version 5.5 kann AJAX.)
    Kann man die Verwendung eines Browsers aus dem vorigen Jahrtausend auch schon als Sturheit bezeichnen?
  • Last but not least: Der Chat ist mit einer Vielzahl von Screenreadern auch von Blinden benutzbar. Und dieses Argument zählt meines Erachtens letztlich mehr, als buchstabengetreues Einhalten von Vorschriften und Normen
  • Muss ich eigentlich noch erwähnen, dass auch Blinde selbstverständlich meine Smileys "sehen"?

PHP Variable an Javascript übergeben

Montag, 8. Januar 2007

Serverseitiges Scripting, z.B. mittels PHP, ist in der Regel schnell, sicher, und ausreichend mächtig.
Manche Dinge müssen aber clientseitig gemacht werden. Dann ist Javascript die Sprache der Wahl.
Und wenn in einer Anwendung beide Verfahren zusammen arbeiten sollen, taucht häufig die Frage auf, wie Variablen von PHP an Javascript übergeben werden können.

Es gibt eine verblüffend einfache Lösung für dieses Problem:

Schreibe dein Javascript in eine PHP Datei, und liefere den Inhalt als Javascript aus.
Klingt kompliziert? Ist es aber nicht.

Ein einfaches Beispiel:
1. Gib deiner "Javascript"-Datei die Dateiendung .php, damit der Server weiß, daß sie von PHP geparst werden muss. Also z.B. meinscript_js.php
2. An den Anfang dieser Datei kommt:
<?php
header('Content-Type: text/javascript');
include("serverscript.php");
?>
Damit sagst du dem Server, dass er die Datei als Javascript ausliefern soll, und includest die PHP-Datei serverscript.php mit den zu übergebenden Variablen, damit sie im folgenden zur Verfügung stehen.

Das war's schon.

Du kannst jetzt innerhalb des Javascript-Codes PHP einfügen. Dazu schaltest du einfach auf PHP um, wie innerhalb einer HTML-Datei auch. Also z.B.:

… ganz normaler Javascript Code in Javascript Syntax …
<?php echo "Hallo Welt"; ?>
… weiter im Javascript Code …

Achtung!
genau dieses Beispiel wird nicht funktionieren. Warum nicht? Weil dein Script ja Javascript ausliefert. Das ausgelieferte Javascript beinhaltet jetzt die Zeile "Hallo Welt". Das ist ungültige Syntax. Um per Javascript etwas in eine HTML Seite zu schreiben, gibt es z.B. den Befehl document.write

Richtig wäre also:
<?php echo "document.write ('Hallo Welt')"; ?>

Alles klar?

Und nach dem selben Muster kannst du auch auf eine PHP-Variable zugreifen (die in der Datei serverscript.php definiert wurde), z.B.:

… ganz normaler Javascript Code in Javascript Syntax …
var irgendwas = <? echo $irgendwas; ?>
… weiter im Javascript Code …


Archiv:

Kategorien:

Creative Commons Lizenzvertrag
Alle Texte (nicht Bilder!) Creative Commons CC BY-NC-SA 3.0 DE