Schlagwort-Archive: W3C

YouTube und W3C – Teil 2

Letztens habe ich ja einen Tipp hier im Blog veröffentlich, wie man YouTube-Videos W3C-valide einbinden kann.

Offenbar ist dieser Beitrag nun überholt, denn mir ist jüngst – genau genommen heute – aufgefallen, dass der „Embed“-Code auf YouTube nicht mehr die <object> und <param>-Tags verwendet, sondern das Einbinden über <iframe> erfolgt.

Allerdings wird in dem iframe-Tag ein Parameter allowfullscreen verwendet, der laut W3C so nicht definiert ist und daher als ungültig angesehen wird. Lässt man diesen beim Einfügen aber weg, funktioniert das Video trotzdem – auch das Umschalten auf Vollbild – ohne Einschränkungen.

YouTube und W3C

Seit dem ich den Blog habe, versuche ich – so gut wie möglich – den Code der Seiten W3C-konform zu halten.

Das klappt bei „normalen“ Eintragsseiten auch ganz wunderprächtig. Spätestens aber beim Einbinden von YouTube Videos und anderen Flash-Objekten ist der Code der Seite aber nicht mehr „valide“.
Das Problem hierbei ist, dass die zum Einbinden verwendeten Code-Schnipsel zwar HTML, aber nicht XHTML-konform sind und dabei Elemente aufweisen, die in der XHTML Spezifikation nicht vorgesehen sind. Die einzige „valide“ Variante bisher war statt des eingebetteten Flash-Films nur einen Link auf das Video zu setzen.

Daher habe ich im Web gesucht und auf W3C YouTube Producer eine Möglichkeit gefunden, den HTML-Code in validen XHTML-Code umwandeln zu lassen.

Aus dem Code Schnipsel

<object width="480" height="385"><param name="movie" value="https://www.youtube.com/v/X5NNx1bP7gM?fs=1&amp;hl=de_DE"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="https://www.youtube.com/v/X5NNx1bP7gM?fs=1&amp;hl=de_DE" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>

wird nach dem Umwandeln

<object type="application/x-shockwave-flash" style="width:480px;height:385px;" data="https://www.youtube.com/v/X5NNx1bP7gM?fs=1&amp;amp;hl=de_DE"><param name="movie" value="https://www.youtube.com/v/X5NNx1bP7gM?fs=1"/><param name="allowFullScreen" value="true"/></object>

Wichtigstes Merkmal ist, dass das <embed>-Tag im XHTML-Code nicht mehr enthalten ist, welches vom W3C nicht akzeptiert wird, da es lediglich eine „Erfindung“ moderner Browser ist und weder in HTML4 noch in XHTML spezifiziert ist.

Das einzige Manko des neuen Code-Schnipsels ist, dass dem Tag <object … die Größe über die Angabe style=“width:480px;height:385px;“> mitgeteilt wird. Dies wird von anderen Validatoren (z.B. Qualidator) mitunter aber als sogenanntes Spaghetti-Markup angemahnt. Leider weisen aber auch viele WordPress-Plugins das gleiche Dilemma auf, so dass man solch „unsauberes“ (X)HTML fast gar nicht unterbinden kann. Daher ignoriere ich weitestgehend diese Warnungen.

Die bislang eingebundenen Videos werde ich vermutlich nicht mehr aktualisieren. Bei neuen jedoch werde ich die XHTML-Variante verwenden.