Wie kann man dies korrekt mit CSS realisieren?
Jörg
- css
Hallo,
ich möchte einen Textblock auf der Seite horizontal zentrieren und in dem Block soll der Text
linksbündig stehen.
Dies habe ich mit folgenden Zeilen erreicht.
Wie aber kann ich das vernünftig mit CSS darstellen?
Wie aber kann ich das vernünftig mit CSS darstellen?
Was meinst du mit vernünftig?
so etwa
gruesse qx
Hi,
Ist "outbox", "inbox" wirklich nach den strengen Regeln (Trennung Inhalt und Design durch CSS)?
Oder steckt dain nicht schon das Design, wie wenn ich die Klasse "zentriert" angeben würde?
Gruß
Jörg
Om nah hoo pez nyeetz, Jörg!
Ist "outbox", "inbox" wirklich nach den strengen Regeln (Trennung Inhalt und Design durch CSS)?
Oder steckt dain nicht schon das Design, wie wenn ich die Klasse "zentriert" angeben würde?
Manchmal lassen sich zusätzliche oder rein darstellungsbezogene Elemente nicht vermeiden.
In Klassennamen sollte nach Möglichkeit der Grund für die Klasse erkennbar sein, also etwa „warning“ statt „red“.
Für rein darstellungsbezogene Elemente solltest du imho nur die bedeutungslosen div bzw. span verwenden und diese mit dem wai-aria-Attribut role=presentation ausstatten.
Matthias
Hallo,
Für rein darstellungsbezogene Elemente solltest du imho nur die bedeutungslosen div bzw. span verwenden und diese mit dem wai-aria-Attribut role=presentation ausstatten.
div und span haben keine eingebaute ARIA-Rolle, sind wie du sagst bedeutungslos. Also muss man sie auch nicht mit role="presentation" ausstatten, denn das negiert nur eine ggf. eingebaute ARIA-Rolle.
http://www.w3.org/TR/wai-aria/roles#presentation
Mathias
Hi,
Für rein darstellungsbezogene Elemente solltest du imho nur die bedeutungslosen div bzw. span verwenden und diese mit dem wai-aria-Attribut role=presentation ausstatten.
div und span haben keine eingebaute ARIA-Rolle, sind wie du sagst bedeutungslos. Also muss man sie auch nicht mit role="presentation" ausstatten, denn das negiert nur eine ggf. eingebaute ARIA-Rolle.
Wie verhält es sich denn mit Kindelementen, die ggfl. eine eigene Rolle hätten?
Also angenommen ich habe ein paar semantisch zusammengehörende Abschnitte (section oder article), welche ihrerseits innerhalb eines divs stehen und allesamt ausschließlich der Präsentation dienen.
Also etwa so:~~~html
<div role="presentation">
<section>…</section>
<article>…</article>
…
</div>
Überträgt sich die presentation-Rolle da nicht auf die Kinder? Also müsste man die role-Angabe da in jedem Element neu wiederholen?
Hallo,
Wie verhält es sich denn mit Kindelementen, die ggfl. eine eigene Rolle hätten?
Siehe Link:
»For any element with a role of presentation and which is not focusable, the user agent MUST NOT expose the implicit native semantics of the element (the role and its states and properties) to accessibility APIs. However, the user agent MUST expose content and descendant elements that do not have an explicit or inherited role of presentation. Thus, the presentation role causes a given element to be treated as having no role or to be removed from the accessibility tree, but does not cause the content contained within the element to be removed from the accessibility tree.«
Also müsste man die role-Angabe da in jedem Element neu wiederholen?
Wenn du die Kinder ebenfalls »neutralisieren« willst, musst du ihnen einzeln role="presentation" zuweisen.
Mathias
Also müsste man die role-Angabe da in jedem Element neu wiederholen?
Wenn du die Kinder ebenfalls »neutralisieren« willst, musst du ihnen einzeln role="presentation" zuweisen.
Hab' ich also doch nicht falsch verstanden …
Ich muss sagen das empfinde ich als ziemlich unintuitiv. Zudem ist es ja auch ziemlich unpraktisch das ständig wiederholen zu müssen.
Hallo
Also müsste man die role-Angabe da in jedem Element neu wiederholen?
Wenn du die Kinder ebenfalls »neutralisieren« willst, musst du ihnen einzeln role="presentation" zuweisen.
Hab' ich also doch nicht falsch verstanden …
Ich muss sagen das empfinde ich als ziemlich unintuitiv. Zudem ist es ja auch ziemlich unpraktisch das ständig wiederholen zu müssen.
Musst du nicht, wenn du – so weit als möglich – auf rein präsentationsbezogene Elemente verzichtest.
Ich kann mir kein Szenario vorstellen [1], bei dem -zig ineinander verschachtelte Elemente vorhanden sind, die role="presentation" brauchen. Nach meiner Erfahrung sind das einzelne Elemente bzw. Verschachtelungsebenen (irgendwo mittendrin), wo das gebraucht wird.
[1] Nicht, dass ich behaupten wollte, dass es keine gäbe.
Tschö, Auge
Hi,
Musst du nicht, wenn du – so weit als möglich – auf rein präsentationsbezogene Elemente verzichtest.
Ich kann mir kein Szenario vorstellen [1], bei dem -zig ineinander verschachtelte Elemente vorhanden sind, die role="presentation" brauchen. Nach meiner Erfahrung sind das einzelne Elemente bzw. Verschachtelungsebenen (irgendwo mittendrin), wo das gebraucht wird.
[1] Nicht, dass ich behaupten wollte, dass es keine gäbe.
Also ich muss mich recht oft mit Seiten auseinandersetzen, bei denen geschätzte 40–60% des „Inhalts” keinerlei inhaltliche Relevanz haben und lediglich dazu da sind die Seite optisch „aufzuhübschen” (wobei natürlich „hübsch” in dem Fall Geschmackssache ist).
Ich hatte angenommen es würde reichen all diese Elemente gemeinsam in ein div zu packen und diesem role="presentation" mitzugeben, aber offenbar ist dies ja nicht so.
Hallo,
Also ich muss mich recht oft mit Seiten auseinandersetzen, bei denen geschätzte 40–60% des „Inhalts” keinerlei inhaltliche Relevanz haben und lediglich dazu da sind die Seite optisch „aufzuhübschen”
role="presentation" ist nicht dazu gedacht oder geeignet, große Teile des Dokuments als »inhaltlich nicht relevant« zu markieren.
Ich hatte angenommen es würde reichen all diese Elemente gemeinsam in ein div zu packen und diesem role="presentation" mitzugeben, aber offenbar ist dies ja nicht so.
Selbst wenn sich role="presentation" vererben würde, für diesen Zweck ist es nicht geeignet.
role="presentation" setzt die inhärente Semantik von gewissen Elementen außer Kraft. Zum Beispiel ist eine Überschrift mit role="presentation" aus Sicht einer assistiven Technik keine Überschrift mehr. Der Inhalt wird noch ausgegeben, aber nicht mit der speziellen Bedeutung »Überschrift«. Weil role="presentation" gezielt die Bedeutung eines Elements verändert, vererbt es sich nicht auf Kindelemente.
Nun sollte man sich erst einmal fragen, warum man Text überhaupt als Überschrift auszeichnet, wenn die Bedeutung anschließend mit role="presentation" neutralisiert werden muss. Erster Schritt wäre also, eine angemessene Textauszeichnung zu verwenden, sodass role="presentation" gar nicht nötig ist. Somit gibt es nur wenig sinnvolle Anwendungsfälle von role="presentation".
Wenn in einem Dokument 60% des Inhalts Quatsch ist, dann sollte man den bestenfalls löschen, für User ausblenden oder zumindest mit Elementen auszeichnen, die keine inhärente Semantik haben (div, span).
Grüße
Mathias