Das <wbr>-Element in HTML5

9. August 2010, 12:02 Uhr 23 Kommentare · Schreiben

Das <wbr>-Element ist, soweit ich feststellen konnte, eine Erfindung aus Netscape 4. Was es in HTML5 zu suchen hat weiß ich nicht (es ist nicht nur archaisch, sondern auch recht nutzfrei), aber der Chronistenpflicht wegen habe ich es letzte Woche mal erforscht. Das <wbr>-Element repräsentiert eine Möglichkeit zum Zeilenumbruch, d.h. da wo es steht, kann der Browser einen Zeilenumbruch einfügen, wenn er das brauchen sollte.

Beispiel:

<h1>Mit <code>&lt;wbr&gt;</code></h1>
<p style="width:100px; border:1px solid red;">
	Donau<wbr>dampf<wbr>schiff<wbr>fahrts<wbr>gesellschaft
</p>
<h1>Ohne <code>&lt;wbr&gt;</code></h1>
<p style="width:100px; border:1px solid red;">
	Donaudampfschifffahrtsgesellschaft
</p>

Ergebnis:

Das WBR-Element in HTML5

Der Browsersupport ist recht medium, in Opera und Internet Explorer 8 funktioniert <wbr> nicht, wohl aber in allen anderen Browsern inklusive IE7 und IE6. In Opera lässt sich das Problem relativ einfach fixen, indem man per CSS hinter jedem <wbr> ein Zero-Width-Space einfügt:

wbr:after {
	content: "\00200B"
}

Dieses Leerzeichen ist unsichtbar, trennt aber das Wort auf und ermöglicht so einen Zeilenumbruch wie ein normales Leerzeichen. Im IE8 kann man das gleiche mit JavaScript erreichen:

var wbrs = document.getElementsByTagName('wbr');
var num_wbrs = wbrs.length;
if(num_wbrs > 0 && HTMLTextElement && wbrs[0] instanceof HTMLTextElement){
	for(var i = 0; i < num_wbrs; i++){
		wbrs[i].insertAdjacentHTML('afterEnd', '&#x200b;');
	}
}

Hier ist vielleicht noch bemerkenswert, dass die im JS-Code verwendete insertAdjacentHTML()-Methode seit HTML5 auch erstmals Standard ist, was natürlich nicht heißt, dass sie in einer nennenswerten Anzahl Browser funktioniert.

Das <wbr>-Element ist recht nutzlos, da es zwar Wörter trennt, aber keine Trennstriche einfügt. Das Entity &shy; macht genau das und ist daher vermutlich in vielen Fällen die bessere Wahl:

<h1>Wbr</h1>
<p style="width:100px">
	Donau<wbr>dampf<wbr>schiff<wbr>fahrts<wbr>gesellschaft
</p>
<h1>Shy</h1>
<p style="width:100px">
	Donau&shy;dampf&shy;schiff&shy;fahrts&shy;gesellschaft
</p>

Ergebnis:

Das Shy-Entity und WBR im Vergleich

Allerdings weiß ich aus dem Stand gerade nicht, wie aktuell die Browserunterstützung für &shy; aussieht – was ich aber mal vor Jahren ausprobiert habe, war die Suchmaschinenfrundlichkeit. Hier gibt es keine großen Probleme zu berichten, bis auf die Produkte aus dem Hause Microsoft ignorieren alle Suchmaschinen &shy; und finden auch Keywords, die im HTML entsprechend getrennt sind.

Fazit: auf jeden Fall für mögliche Zeilenumbrüche &shy; verwenden und sich angesichts von <wbr> einfach nur fragen, was die HTML5-Jungs und -Mädels in ihren Pausen eigentlich so rauchen.

Beta 1 von Firefox 4 ist da. Neben diversen UI-Tweaks und dem, was man heutzutage so oder so bei einer neuen Browserversion erwartet (bessere Performance, Hardwarebschleunigung) kann man anhand dieser Beta sehen, welches neues Spielzeug für Webentwickler unterwegs ist:

  • CSS: Unterstützung für Transitions (mit -moz-Prefix) und calc(),
  • HTML5: Unterstützung für einige neue Elemente (<header>, <section> usw.) und HTML5-Formulare
  • HTML5-Video: Das WebM-Fomat wird unterstützt und die Implementierung der Multimedia-API weiter vervollständigt.
  • Diverser HTML5-/„HTML5“-Krempel: Unterstützung für Indexed Database (clientseitiger Datenspeicher), WebSockets (Netzwerkprotokoll für stehende Verbindungen), File API und das History Interface
  • SVG: Unterstützung für SVG-Animationen (SMIL) sowie für SVG als CSS-Background und SVG für <img>-Elemente

Ich habe noch nicht getestet was genau die Unterstützung der neuen HTML5-Elemente <header>, <section> und Konsorten konkret bedeutet, aber wenn das heißt, dass die neuen Standard-Styles implementiert werden, könnte es interessant werden. Zwar wird für die genannten Elemente nur vorgegeben, dass sie als Block-Elemente gerendert werden sollen, doch falls da draußen irgendwer schon mit den neuen Elementen eine Website gebaut hat, und sich darauf verlassen hat, das <section> und Co wie bisher als Inline-Elemente daherkommen, könnte das Resultat mit dem Release des FF4 eine zerschossene Darstellung sein.

Zur Abhilfe empfehle ich in meinem Buch dem folgenden CSS-Schnipsel:

command, datalist, source {
    display:none
}
article, aside, figure, figcaption, footer, header, hgroup, menu, nav, section, summary {
    display:block
}
figure, menu {
    margin-top:1em;
    margin-bottom:1em
}
dl menu, menu dl, menu menu, menu ol, menu ul {
    margin-top:0;
    margin-bottom:0
}

Das ist zwar keine komplette Re-Implementierung der HTML5-Standardstyles, sollte aber zumindest vor größeren Verwerfungen jetzt und in Zukunft bewahren. Ab damit in den Reset-Stylesheet!

Anlässlich der der Ankündigung, dass der Firefox 4 erstmals standardmäßig einen HTML5-Parser verwenden wird (für Webkit wird auch bereits einer entwickelt), erreichten mich diverse Fragen was das denn jetzt bedeuten würde. Wenn die Browser von heute keinen HTML5-Parser verwenden, was haben sie denn dann? Immerhin können die doch alle – mit Ausnahme des IE – HTML5-Elemente wie <canvas> und <video> darstellen, oder? Richtig ist, dass ein Oldschool-HTML-Parser und ein Parser nach den Regeln der HTML5-Spezifikation sehr viel gemeinsam haben und die wenigen Unterschiede nur selten sichtbar werden. Aber ganz überflüssig sind HTML5-Parser natürlich nicht.

Kompletten Artikel lesen

Firefox 4 angekündigt

11. Mai 2010, 13:44 Uhr 11 Kommentare · Schreiben

Das Firefox-Logo

Wie just angekündigt wurde, soll Firefox 4 noch dieses Jahr erscheinen. Die eigentlich für die Version 3.7 vorgesehenen Neuerungen (hauptsächlich Stabilitäts-Updates) werden nun in einem Patch für die 3.6er-Serie verwurstet, so dass in Version 4.0 Platz etwas einschneidendere Änderungen ist. Einige Highlights:

  • Das Interface wird entrümpelt und alles soll schneller werden. Potenzielle Absturz-Quellen werden in eigene Prozesse verfrachtet
  • Extension-Installation ohne Neustarts (Yay!)
  • Standardmäßig aktivierter HTML5-Parser, mehr CSS3-Unterstützung, Websockets und Indexed Database API
  • Eingebaute Webententwickler-Tools als Ersatz oder Ergänzung für Firebug, u.A. zur Optimierung von Performance und Speicherverbrauch

Im folgenden (etwas zu langatmigem) Video werden die Pläne und Hintergründe für die neue Version vorgestellt:

Video-Download (.ogg)

Ich denke den anvisierten Termin (November 2010) kann man guten Gewissens ins Reich der frommen Wünsche verfrachten, aber die angekündigten Features schauen absolut vielversprechend aus. Vor allem ist es löblich, dass endlich mal ein Browserhersteller einen echten HTML5-Parser zu Felde führt.

« Neuere Artikel  ·  Ältere Artikel »

Hallo!

Dies ist das Blog von Peter Kröner, Webworker aus der Nähe von Osnabrück. Hier geht es um alles rund um Webdesign und Webentwicklung.

Kauft mein Buch!

Das HTML5-Buch
Bei Amazon kaufen

Mehr Infos auf html5-buch.de/

Unterstützt mein Blog!

Wenn dir gefällt was du hier liest, wirf einen Blick auf Flattr und klick‘ die kleinen orangenen Buttons unter den Artikeln an!

Neue Kommentare

Klaus

Zitat Michael ↑: Zitat Klaus ↑: Solche Aussagen sind es die Tür und Tor öffnen für Lohndumping. Man läuft bei allzu flexiblen (vorallem nach unten) Gehaltsvorstellungen Gefahr, dass...

Robert

Da saß ich wirklich verwundert vor der Mashi-Seite, und habe mich gefragt was der Shit soll, bis mir aufgefallen ist, dass das ganze im FF4b nicht läuft, im FF3.6 hingegen...

Axel

Er hat in dem Video fast wörtwörtlich behauptet, dass “Threads in Java eine schlechte Idee waren”. Wie soll man das sonst interpretieren? Das mit den NaNs hat er in...

Axel

Jetzt behauptet er auch noch, dass Threads in Java eine schlecht Idee waren und man sowieso alles mit einem Event Loop ersetzen kann. Der sollte mal dringend über seinen...

Axel

Klar, aber ich habe das Gefühl, er sollte mal bissel zurückschrauben mit seinem Ego. Bei HTML5 hat er übrigens sehr gute Punkte vorgebracht. Aber jetzt ist das Kind eh schon in den...