molily: Logische Kennzeichnungen

Beitrag lesen

Mor*gähn*!

Das <b> hingegen ist im Standard drin. Allerdings ist es eigentlich auch "böse": Es formatiert "Fettschrift" in HTML. Für Formatierungen ist aber eigentlich CSS zuständig - oder der Browser selbst. Denn manche Browser können beim besten Willen keine Fettschrift darstellen, weil das Ausgabemedium dazu nicht in der Lage ist. Aber sie können die logischen Tags (z.B. <strong>) interpretieren und den Text in irgendeiner Weise "stark betonen".

Rein logisch gesehen wäre der Ersatz für das Element b (bold) die Kennzeichnung em (einfache, 'normale' Emphase/Betonung).
Der Standard sagt, wie man weiß:
"EM: Indicates emphasis.
STRONG: Indicates stronger emphasis."
Außerdem:
"Speech synthesizer user agents may change the synthesis parameters, such as volume, pitch and rate accordingly."
Die Benutzung von strong nur um der landläufigen fettgedruckten Visualisierung wegen würde also zu derbem Geschrei ausarten. ;) Dann lieber em mit angepasstem font-style und font-weight:bold...?

Die Visualisierung der Elemente em und strong obliegt wohl dem individuellen Kontext. In einem langen Fließtext, wie bspw. in Magazinen und Zeitungen, wird kursiver Text nicht immer, aber oft für Emphasen benutzt. Manchmal bedeutet die Formatierung jedoch auch "der/die/das sogenannte/r ..." oder wird für die Kenn-/Auszeichnung von Fremdwörtern und zentralen Begriffen benutzt. Aber wie kann man so etwas in HTML auszeichnen? Eine Emphase ist dies nicht in jedem Fall, man ist aber verleitet, den Text logisch auszeichnen zu wollen, und greift zu der em-Kennzeichnung.
Außerdem gibt es etliche Fälle, in denen man Text in Anführungszeichen setzt (" etc.), aus oben genannten und ähnlichen Gründen, weil eine logische q-Kennzeichnung mit quotes-CSS-Formatierung nicht immer angemessen scheint. (Ein wenig ironisch ist, dass das benannte Zeichen für Anführungsstriche frei nach dem englischen "quotation marks" " heißt, auch wenn es nicht immer passen mag.)

Wieso sagt die Spezifikation bspw. über das cite-Elemtent: "CITE:
Contains a _citation_ or a reference to other sources"? Referenzen zu anderen Quellen ist klar, aber wieso "citation"? Das Zusammenspiel von cite-Element ("citation") und q-Element ("quotation") evtl. mit cite-Attribut wird am Beispiel (http://www.w3.org/TR/html401/struct/text.html#h-9.2.1) klar. Dennoch benutzen manche cite an Stellen, wo ich q benutze.

Scheinbar ist es nicht immer möglich, des Text so logisch per HTML zu strukturieren, dass selbst die Wortbedeutungen durch die Auszeichnung determiniert werden... Da scheitert HTML wohl, oder ist dafür nicht vorgesehen.

Leider mangelt es den großen Browsern noch an angemessener Visualisierung von logischen Kennzeichnungen sowie erläuternden Attributen (bspw. cite von q).

Ich hatte mal eine kleine "Studie" zur Attributvisualisierung gemacht, ein Auszug:
a[target="_blank"]:before {content:"[^]";} /* Bei mir aktiv im Einsatz. */
*[title] {cursor:help;}
*[title]:after {content:" ["attr(title)"]";}
a[hreflang]:before {content:"["attr(hreflang)"]";}
a[hreflang][target="_blank"] {content:"[^"attr(hreflang)"]"; color:#ff0000;}
Funktioniert größtenteils noch auf keinem der der Menschheit bekannten Browser.

Eventuell muss man zu DHTML-Lösungen greifen. Bspw. könnte man eine kleine feststehende Box definieren, in welcher die Attributinhalte bei Mouseover wiedergegeben werden.

Interessant wären auch CSS-Lösungen, vgl. http://www.meyerweb.com/eric/css/edge/popups/demo.html. Nach meiner Erfahrung momentan alles noch unpraktikabel, da die eingesetzten Benutzeragenten unfähig sind (mehrheitlich IE 5.5).

Mathias