HTML4.01ではiframe要素は非推奨だったため、YouTube動画を掲載しているページだけはフッターにW3CのValidationアイコンをつけていなかった。
ページフッターはjavascriptで書いているので、Validation無しのためにわざわざ関数を追加していたのだ。
ちなみにこちらがValidation有りのフッター
function writeFooter(){ var html = ""; html += '<footer>'; html += ' <p>© 2014 Takayuki Hommura</p>'; html += ' <p style="text-align:right;margin-top:-10px;font-size:small;"><a href="http://validator.w3.org/check?uri=referer" style="text-decoration:none;color:#ffffff;">Valid HTML5</a>'; html += ' <a href="http://www.w3.org/html/logo/"><img src="http://www.thom.jp/img/HTML5_Badge_32.png" alt="HTML5 Powered with CSS3 / Styling, and Semantics" title="HTML5 Powered with CSS3 / Styling, and Semantics"></a>'; html += ' <a href="http://jigsaw.w3.org/css-validator/check/referer"> <img style="border:0;width:88px;height:31px" src="http://jigsaw.w3.org/css-validator/images/vcss" alt="正当なCSSです!" /></a></p>'; html += '</footer>'; document.write(html); }
こっちがValidation無しのフッター
function writeFooterWithoutValidation(){ var html = ""; html += '<footer>'; html += ' <p>© 2014 Takayuki Hommura</p>'; html += '</footer>'; document.write(html); }
HTML5になって正式にW3Cから認められることになったので、これで堂々と使用できる。
一応今後も使うかもしれないので関数自体は残しておこう。
HTML4.01で非推奨とは
もう少し詳しく説明すると、HTML4.0の頃は以下3種類の宣言タイプが存在していた。
- Strict(厳格なHTML)
- Transitional(過渡的なHTML)
- Frameset(フレームを使用できるHTML)
最も正確なHTMLはStrictで、これがW3Cの推奨していたもの。
ただし厳格すぎるためHTMLに対する正しい知識が無いと本来はまともにサイトを構築することは出来ない。
とはいえ、ブラウザの仕様としてはそのあたりはユルユルで、宣言があろうと無かろうと内容がどうであろうと「あれ。これ違うくない?まぁいいや、こう描いて欲しいんでしょ」という感じで融通を利かせて表示させていたのだ。
そもそもHTMLの閉じタグ