Gleich mehrere Fragen (zu CSS, HTML 5, Barrierefre

Hallo an alle!

Erstmal entschuldige ich mich für die unglücklich gewählte Überschrift. Ich wollte jedoch nicht für jede Frage einen Post eröffnen. Bitte nicht die Ohren strubbelig ziehen.

Einmal habe ich eine weitere Frage zu einem CSS-Selektor. Genauer gesagt bräuchte ich wieder einmal ein oder zwei Beispiele, wofür man display: inharit verwendet.

Dann wollte ich wissen, ob man trotzdem Selektoren aus CSS 2 verwenden darf, auch wenn diese für die 2.1 nicht übernommen wurden ?

Zusätzlich wollte ich noch wissen, ob ich mich schon jetzt auf HTML 5 stürzen soll und diese Tags lernen (derzeit „kann“ ich nur (X)HTML) ?

Und zu guter letzt: immer wieder wird darauf hingewiesen, dass JavaScript eine Sprache ist, die man nach Möglichkeit NICHT in seine Webseite einbringen sollte, weil dies einerseits den Nachteil hat, dass User, die kein JS im Browser eingestellt haben, das ganze nicht sehen, zum anderen, das Java-Script alles andere als barrierearm ist.
Nur: warum ist JS barrierelastig ? (okay, zugegeben, das ganze ist jetzt eher eine Frage aus Neugier)

Lieben Gruß und schon einmal ein dickes Dankeschön im Voraus
Michael Vogl

Hallo an alle!

Erstmal entschuldige ich mich für die unglücklich gewählte
Überschrift. Ich wollte jedoch nicht für jede Frage einen Post
eröffnen. Bitte nicht die Ohren strubbelig ziehen.

Einmal habe ich eine weitere Frage zu einem CSS-Selektor.
Genauer gesagt bräuchte ich wieder einmal ein oder zwei
Beispiele, wofür man display: inharit verwendet.

generell gibt es für jedes attribut ein inherit wert.

bei display wäre folgendes beispiel

.weiss {background-color:#FFFFFF;}
.gross {with:300px; height:200px;}
.inh {display:inherit;}
.blockdiv {display:block;}
.hidediv {display:none;}
.nhide {display:inherit;}

background-color:#FF3300;
 
class="weiss"
 
subdiv class="weiss" style="background-color:inherit;"
 
 
subdiv2 class="weiss" style="background-color:inherit;"
 
 
 
class="weiss" style="background-color:inherit;"
 
 
class="weiss"

in diesem beispiel ist subdiv unsichtbar
und subdiv2 sichtbar.
Der vorteil von inherit ist , das es egal ist was das eltern element hat, es wir einfach genommen :smile:

einfach mal
.divblock das display äändern zu display:inline

.weiss {background-color:#FFFFFF;}
.gross {with:300px; height:200px;}
.inh {display:inherit;}
.blockdiv {display:inline;}
.hidediv {display:none;}
.nhide {display:inherit;}

background-color:#FF3300;
 
class="weiss"
 
subdiv class="weiss" style="background-color:inherit;"
 
 
subdiv2 class="weiss" style="background-color:inherit;"
 
 
 
class="weiss" style="background-color:inherit;"
 
 
class="weiss"

und schon siehste den gebraucht :smile:

Dann wollte ich wissen, ob man trotzdem Selektoren aus CSS 2
verwenden darf, auch wenn diese für die 2.1 nicht übernommen
wurden ?

der browser wird bei CSS 2.1 , einfach alles ignorieren was er nicht kennt.
In deinem fall, die Sachen die rausgenommen worden sind bei CSS2.1 , werden dann auch nicht mehr verarbeitet. :smile:

genauso wird CSS2.0 alles ignorieren was bei 2.1 neu ist, das es es ja noch nicht kennt :smile:

siehe http://www.w3.org/TR/CSS2/syndata.html#charset

Illegal values. User agents must ignore a declaration with an illegal value.
Unknown properties. User agents must ignore a declaration with an unknown property

Zusätzlich wollte ich noch wissen, ob ich mich schon jetzt auf
HTML 5 stürzen soll und diese Tags lernen (derzeit „kann“ ich
nur (X)HTML) ?

kannst du , nur muss dir klar sein, das nicht alle browser das schon können. Und auch noch nicht bei allen alles funktioniert (auch wenns sie HTML5 können sollen). Ist halt noch in der Umsetzung :smile:

Und zu guter letzt: immer wieder wird darauf hingewiesen, dass
JavaScript eine Sprache ist, die man nach Möglichkeit NICHT in
seine Webseite einbringen sollte, weil dies einerseits den
Nachteil hat, dass User, die kein JS im Browser eingestellt
haben, das ganze nicht sehen, zum anderen, das Java-Script
alles andere als barrierearm ist.
Nur: warum ist JS barrierelastig ? (okay, zugegeben, das ganze
ist jetzt eher eine Frage aus Neugier)

hier mal genau http://atag.accessiblemedia.at/2009/programm/view/8
Beispiel siehe ab " Jetzt zu dem Sonderkapitel: JavaScript ist unreif für Screen-Reader." anfängt.

und hier auch noch beispiele
http://webdesign.weisshart.de/gutes_javascript.php#b…

am besten mal ausprobieren :smile:

Moin!

Zusätzlich wollte ich noch wissen, ob ich mich schon jetzt auf
HTML 5 stürzen soll und diese Tags lernen (derzeit „kann“ ich
nur (X)HTML) ?

Das wäre nicht falsch und auch nicht richtig.
Tatsache ist, dass moderne Browser das teilweise schon unterstützen, aber auch alte Browser ihnen unbekannte Tags normalerweise nicht einfach ignorieren. Sie behandeln sie als ein Block- oder Inline-Element (was genau weiß ich auch nicht, kriegt man aber sicher raus) und stellen den Inhalt dar. Deswegen hat man ja früher auch bei -Tags anschließend noch einen Kommentar eingefügt, dass der Scriptcode bei Browsern, die das Tag nicht kennen, nicht dargestellt wird.
So gesehen wird HTML5 auch in älteren Browsern funktionieren, in CSS-fähigen Browsern kann man diese Tags auch formatieren, selbst wenn der Browser das Tag nicht kennt.
Da visuelle Browser die Darstellung über CSS machen, kann man HTML5 auch durchaus sinnvoll in CSS-fähigen,aber nicht HTML5-fähigen Browsern anwenden.

Da HTML ja nicht für die Darstellung ist, stellt sich eher die Frage, wie weit HTML5 in den nicht visuellen Clients ist, also in Suchmaschinen oder Vorlesebrowsern. Denn HTML5 führt ja viele neue, semantische Bedeutungen ein. Die Darstellung ist das kleinere bei der Einführung, aber die semantische Interpretation ist ja wichtig! Wenn also Suchmaschinen oder Vorlesebrowser die Tags schon in ihrer neuen Bedeutung kennen, dann ist HTML5 heute schon sehr sinnvoll!

Nur: warum ist JS barrierelastig ?

Das ist doch ganz einfach: Man kann es abstellen. Ist es abgestellt, funktioniert nicht alles. Also stellt es eine Barriere dar.

Deswegen setzt man JavaScript nur für solche Dinge ein, die die Nutzbarkeit der Site nicht einschränken. Effekte, die nicht wichtig sind, um weiter an die Informationen einer Website zu kommen, sind durchaus machbar, z.B. eine Überprüfung von Formularen oder diverse Aktionen per Ajax sind oftmals extrem hilfreich! Aber es muss natürlich immer eine Alternative ohne JS geben, eine Formularprüfung z.B. MUSS immer auf jeden Fall (auch) serverseitig erfolgen.

Liebe Grüße,
-Efchen

Hallo,

Nur: warum ist JS barrierelastig ? (okay, zugegeben, das ganze
ist jetzt eher eine Frage aus Neugier)

formal kann JavaScript zu einem Verstoß gegen Bedingung 6.3 der Anlage 1 der BITV (http://www.einfach-fuer-alle.de/artikel/bitv/anlage-…f%C3%BChren). :wink:

6.3 Es muss sichergestellt sein, dass mittels Markup–Sprachen geschaffene Dokumente verwendbar sind, wenn Scripts, Applets oder andere programmierte Objekte deaktiviert sind.

Das bedeutet aber nicht, dass Du kein JavaScript verwenden darfst, um zusätzlichen Komfort in die Seite zu bringen. Hauptsache auch ohne JavaScript sind alle Inhalte zugänglich und die Seite ist bedien- und navigierbar.

MfG,

ujk

Hallo,

Nur: warum ist JS barrierelastig ?

Das ist doch ganz einfach: Man kann es abstellen. Ist es
abgestellt, funktioniert nicht alles. Also stellt es eine
Barriere dar.

Ich weiss was du meinst, aber das Argument kann ich so nicht stehen lassen.
CSS kann man auch abschalten, und wenn man das macht, funktioniert auch nicht alles (naemlich das layout ist nicht mehr so, wie es sein sollte). Ist es deswegen barrierelastig?

Gruesse,
Moritz

Moin,

Das ist doch ganz einfach: Man kann es abstellen. Ist es
abgestellt, funktioniert nicht alles. Also stellt es eine
Barriere dar.

Ich weiss was du meinst, aber das Argument kann ich so nicht
stehen lassen.

Doch, schon.

CSS kann man auch abschalten, und wenn man das macht,
funktioniert auch nicht alles

Doch.
Du definierst „funktionieren“ nur falsch. Layout und Design haben nichts mit FUnktionalität zu tun, sondern nur mit dem Aussehen. Und eine Website funktioniert ohne CSS immer noch zu 100%.

(naemlich das layout ist nicht
mehr so, wie es sein sollte). Ist es deswegen barrierelastig?

Nein. Weil das Aussehen hier irrelevant ist.

Nutzbar ist eine Website mit HTML alleine. Der Inhalt muss da sein, er muss semantisch sinnvoll ausgezeichnet sein und man muss jeden Inhalt überall erreichen können.

Das ist selbstverständlich auch bei abgeschaltetem CSS gegeben - sonst würde CSS überhaupt keinen Sinn machen, genauso wie die Trennung von Inhalt und Layout. Dann hätte man HTML weiterhin für das Aussehen der Website missbrauchen können.
Der Vorteil von der Trennung von Inhalt und Layout ist ja, dass man nun endlich allein mit HTML - was ja für jede Website Grundvoraussetzung ist - 100%ige Nutzbarkeit erreichen kann und CSS nur oben aufgesetzt wird, ohne die Funktionalität zu beeinflussen.

Liebe Grüße,
-Efchen

1 Like

Hallo Michael,

Erstmal entschuldige ich mich für die unglücklich gewählte
Überschrift. Ich wollte jedoch nicht für jede Frage einen Post
eröffnen. Bitte nicht die Ohren strubbelig ziehen.

nö…:smiley:

Einmal habe ich eine weitere Frage zu einem CSS-Selektor.
Genauer gesagt bräuchte ich wieder einmal ein oder zwei
Beispiele, wofür man display: inharit verwendet.

Stell dir vor, du hast einen div-container, in welchem sich weitere divs befinden. Für den umgebenden div definierst du einen Rahmen und möchtest ihn für alle Kindelemente übernehmen, ohne etwas zweimal schreiben zu müssen. Nun weist du den untergeordneten divs mit border: inherit zu, dass sie denselben Rahmen wie das Elternelement übernehmen sollen.

Dann wollte ich wissen, ob man trotzdem Selektoren aus CSS 2
verwenden darf, auch wenn diese für die 2.1 nicht übernommen
wurden ?

Ich denke mal ja, wenn du auch bei CSS 2 bleibst. Sobald du CSS 2.1 verwendest, musst du dich auch an die dafür geltenden Regeln halten. Also beides zusammen wird wohl Fehler hervorrufen.

Zusätzlich wollte ich noch wissen, ob ich mich schon jetzt auf
HTML 5 stürzen soll und diese Tags lernen (derzeit „kann“ ich
nur (X)HTML) ?

Nur mal so vorweg: XHTML 1.0 bzw. 1.1 ist gar kein richtiges XML, es wird nur als solches bezeichnet. Der Browser nimmt es trotzdem als text/html entgegen. Nun aber zu HTML5 (wird übrigens wie CSS3 zusammengeschrieben :smiley:):

Die Fülle an neuen Tags und Attributen hält sich alleine dadurch in Grenzen, dass man zwar die Tags schon einsetzen kann (dazu später mehr), aber die Attribute noch nicht überall implementiert sind.

Grundsätzlich spricht nichts dagegen, seine Dokumente zumindest mit dem HTML5 Doctype zu versehen. Dieser zählt aus meiner Sicht zu den besten Neuerungen. Er lautet:
.

HTML5 ist abwärtskompatibel, d.h. dass es bei älteren Browser keine Fehler auslöst bzw. diese im Standardmodus bleiben. Und da die gestrichenen Elemente ebenfalls überschaubar sind, kann man jedenfalls so tun, als ob man HTML5 verwendet.

Eine Übersicht über alles neue in HTML5 gibt es bei W3-Schools: http://www.w3schools.com/html5/html5_reference.asp

Nun aber wieder zum Thema: Man kann HTML5 heute schon verwenden, was sicherlich mehr Vor- als Nachteile hat, aber man muss einiges beachten…

Da kein derzeitiger Browser die HTML5-Elemente kennt, muss man diese per CSS auf ihre eigentlichen Grundeigenschaften stellen. Diese sind so weit ich weiß beim W3C nachzulesen, sry den Link hab ich gerade nicht dabei :smiley:

Beim IE wirds schon schwieriger, da muss man mit Conditional Comments und JavaScript ran, eine Suche bei Google bringt die Ergebnisse zu Hauf.

Alles in allem: Ja, HTML5 kann man schon nutzen! Aber man sollte sich 1. Diesen Artikel von Peter Kröner durchlesen: http://www.peterkroener.de/html5-was-geht-heute-scho… und dann noch das passende Buch (auch von Peter Kröner) bestellen: http://html5-buch.de

Und zu guter letzt: immer wieder wird darauf hingewiesen, dass
JavaScript eine Sprache ist, die man nach Möglichkeit NICHT in
seine Webseite einbringen sollte, weil dies einerseits den
Nachteil hat, dass User, die kein JS im Browser eingestellt
haben, das ganze nicht sehen, zum anderen, das Java-Script
alles andere als barrierearm ist.

Das stimmt so nur teilweise. Es kommt darauf an, was man mit JS macht. Man kann JavaScript so einsetzen, dass jemand ohne dieses nichts von der Seite sieht, aber man kann es auch benutzerfreundlich anwenden.

Ein Beispiel:

Du lässt auf deiner Website das Menü mit JS bei jedem neuen Seitenaufruf einblenden (ob das jetzt gerade sinnvoll ist, sei dahingestellt). Dazu weist du dem HTML-Element per CSS display: none zu und per JS lässt du es dann langsam einblenden. Wenn du die Seite nun ohne JS besuchst, ist das Menü nicht bedienbar, weil es gar nicht da ist.

Wenn du die Eigenschaft display: none aber per JS an das Element übergibst (durch einen inline-stlye) wird es nur diese Animation geben, wenn JS eingeschaltet ist. Andernfalls bleibt die Seite völlig unbeeinflusst und somit immer noch normal bedienbar.

Nur: warum ist JS barrierelastig ? (okay, zugegeben, das ganze
ist jetzt eher eine Frage aus Neugier)

Weil viele Webdesigner (bzw. auch diejenigen, die sich so nennen) JS einsetzen, ohne an die Accessibility zu denken. Aber mit JavaScript kann man auch viele Effekte bereitstellen, ohne eine Gruppe von Besucher von vornherein auszuschließen.

MfG, Florian J.

Tach,

Da kein derzeitiger Browser die HTML5-Elemente kennt, muss man
diese per CSS auf ihre eigentlichen Grundeigenschaften
stellen.

Das sollte man sowieso immer, weil es keine verpflichtenden Eigenschaften für Elemente gibt, nur Vorschläge. Kein Browser muss sich daran halten. Es sind nur Empfehlungen.

In CSS gilt grundsätzlich, dass man eine Eigenschaft, die man unbedingt haben will, explizit setzen muss. Will man z.B. dass eine Überschrift fett ist, muss man das angeben, auch wenn das zu den vom W3C empfohlenen Grundeinstellungen gehört und das (bisher!) auch jeder Browser so macht. Ein Browser, der das nicht per Default macht, macht aber eben auch nichts falsch!

Grüße,
-Efchen

Keine Widerrede :smiley:

MfG, Florian J.

Guten Morgen ersteinmal!

Vielen lieben Dank für die zahlreichen Antworten und die Links. Diese werde ich erstmal in meine Favoriten packen und sie lesen (also die Seiten, nicht die Links), wenn ich die Ruhe dazu habe.

Lieben Gruß und vielen lieben Dank noch einmal

Michael Vogl