Schlagwort-Archive: valide

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.

W3C Konform

Nachdem ich in letzter Zeit einige Änderungen (in der Sidebar, verschiedene BlogPlug-Ins usw.) Blog vorgenommen habe, war es wieder mal notwendig, zu überprüfen, ob die Seite denn noch „valide“ ist.

Dabei stellte ich fest, dass der RSS-Feed zwar noch gültig ist (eine Warnung wird ausgegeben, deren Ursache ich aber nicht beeinflussen kann), aber den XHTML-Validator zunächst 64 Fehler auswies.

Die meisten Fehler bestanden in falsch verschachtelten Listen bei einigen Aufzählungen in der Sidebar (<ul> <li>) oder in fälschlicherweise GROSSGESCHRIEBENEN HTML-Tags (aus hineinkopierten Widgets wie Amazon) oder auch fehlerhaft maskierten URL-Aufrufen (bei bestimmten Bannern).

Nun ist der Code wieder korrekt und ich darf mir den Valides XHTML 1.0 Banner auf die Seite kleben….