Anders als die üblichen browser gibt es die screenreader ja meines Wissens nach nicht
kostenlos, daher hat kaum jemand sowas, um nachzuprüfen, wie die eigene Seite vorgelesen
wirkt, auch das erschwert es etwas, alles verständlich zu halten. Je mehr die Leute Inhalte per
CSS umsortieren, desto problematischer wird das natürlich.
frames - soweit man damit zurecht kommt, wenn man es vorgelesen bekommt, bieten vorrangig
beim visuellen Layout einige Probleme. Text-browser und wohl auch einige screenreader
sollen da angeblich Probleme haben, bei den mir verfügbaren Text-browsern konnte ich das
allerdings schon nicht feststellen, mal abgesehen davon, daß die dann meist eine Liste mit
allen frames darstellen und man sich aussuchen kann, welchen davon man durchlesen will -
erfordert dann gutes Erinnerungsvermögen, was in welchem frame gestanden hat, um solch
ein Projekt gut bedienen zu können.
Mit HTML5 (ist ja derzeit erst in der Entwicklung und kein Standard) allein wird man kaum
effektiven Ersatz finden. Meist wird heute die jeweilige Einzelseite mit PHP aus Fragmenten
zusammengesetzt (also nicht aus ganzen HTML-Dokumenten wie bei frames!)
Da ist dann auch das Layout flexibler mit CSS zu machen, was für viele Autoren eben wichtig ist,
die eine stark visuelle Präferenz haben - viele schaffen es aber nicht oder kaum, das so
umzusetzen, daß die Seiten ohne CSS-Interpretation noch gut verständlich oder effektiv
nutzbar sind - muß unerfreulich sein, wenn man solche Seiten vorgelesen bekommt.
Bei dem Bild cd.jpg könntest du mal die Kantenlänge reduzieren, bei img-Element steht da was
von 30 Pixeln, hat aber 1584 Pixel - wenn man bei Opera etwa auf einen Zugänglichkeitsstil
umschaltet, hat das den überraschenden Effekt, daß der die 30 Pixel ignoriert und das Bild
in voller Größe darstellt - warum auch immer. So oder so sollte man es ohnehin vermeiden,
die Bilder durch Angabe von width und height zu verkleinern, besser direkt daheim auf dem
eigenen Rechner.
Statt ‘font-family: Arial’ solltest du im CSS vorsichtshalber ‘font-family: Arial, sans-serif’ schreiben.
Das liegt daran, daß nicht alle Programme und Betriebssysteme die Schriftart Arial haben, die
müssen dann eine andere wählen. ‘sans-serif’ ist eine generische Angabe für eine serifenlose
Schrift offenbar, paßt in dem Falle ganz gut. Bei ‘Arial’ dürften die meisten Programme das
ähnlich raten, sie müssen es aber nicht, theoretisch müßten die auch gar keine Schrift
darstellen, wenn sie ‘Arial’ nicht haben, habe ich aber selbst erst bei einem browser vor
längerer Zeit mal gesehen. Man sollte als letzten Wert von font-family folglich immer eine
generische Schriftart angeben.
Bei der neuen Seite fällt mir ansonsten noch auf, daß das Hintergrundbild bground.jpg nur
ein paar Pixel breit ist, weil du aber background-repeat:no-repeat angibst, wird das nicht
wiederholt. Das hat dann zur Folge, daß effektiv die voreingestellte Hintergrundfarbe
verwendet wird, bei mir hellgrau, bei den meisten vermutlich weiß. Weiße Schrift auf hellem
Hintergrund ist schlecht oder gar nicht lesbar - im Übrigen, was zur Anwendung käme, falls
ein Darstellungsprogramm keine Bilder darstellt, ist die Kombination von color:white und
bgcolor="#FFFFFF" dann auch heikel, wobei letzteres dann ohnehin fehlerhafte Syntax für
CSS ist und nicht interpretiert wird, gemeint ist wohl background-color, zu deinem Hintergrundbild
grob passend könnte man notieren: background-color:#00a
Ja wie oben bereits geschrieben, werden (X)HTML-Dokumente nicht erzeugt, indem man
mehrere (X)HTML-Dokumente ineinander einfügt, deshalb darf ein DOCTYPE auch maximal
einmal pro Dokument vorne auftauchen.
Nun ist es auch so, daß der Kram, der im Arbeitsentwurf von HTML5 beschrieben wird, keiner
formalen Struktur folgt, die in irgendeinem Schema steht, es gibt dazu keine maschinenlesbare
DTD (anders als bei HTML4 oder XHTML), daher ist der von dir verwendete DOCTYPE so
auch unbrauchbar, weil der auf die Existenz einer DTD für HTML5 hinweist - wo hast du den
her? Die meisten, die heute bereits HTML5 testen (in der HTML5-Markierungssuppen-Variante,
nicht in der ebenfalls möglichen XHTML-Variante), die verwenden einen Pseudo-DOCTYPE,
der inhaltlich nicht sinnvoll ist, vorrangig nur dazu dient, damit eine browser das nicht als
reine Markierungssuppe aus dem letzten Jahrtausend interpretieren, sondern als aktuelle
Markierungssuppe.
Dazu wird dann in der ersten Zeilte ‘’ verwendet, das sagt formal nur aus,
daß das Wurzelelement ‘html’ heißt. Das hat an sich nichts mit HTML5 zu tun, man kann also
formal gar nicht angeben, daß es sich um ein HTML5-Dokument handelt (ein besonderer
Unfug der Arbeitsgruppe, die seit Jahren HTML5 entwickelt und einige dieser Stilblüten auf
Lager hat, wenn man sie danach fragt).
Naja, ich denke, für heute erstmal genug genervt, obwohl einen habe ich noch:
Tabellenelemente nur für Inhalt verwenden, der auch wirklich eine Tabelle darstellt, also eine
zweidimensionale Korrelation von Daten, nicht für die Anordnung von Inhalten.
Dem Gerücht nach kann das bei einigen screenreadern auch für Verwirrung sorgen, bei
deinem offenbar nicht, aber unabhängig davon geben die Tabellenelemente den Inhalten dann
eine falsche Bedeutung. Als Anhaltspunkt kann auch dienen: Wenn man bei der Tabelle nicht
das Bedürfnis hat, Elemente wie caption, th, thead, tfoot zu verwenden, so handelt es sich
vermutlich nicht um Inhalt, der in eine Tabelle gehört.