目次
エラーの原因は「frameborder=”0”」
実験
Youtubeからコピーしてきた以下の埋め込みコードをHTML内に仕込んで、
<iframe width="560" height="315" src="https://www.youtube.com/embed/M9IAaXvtJP4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
↑以前、inputタグのinputmodeについて解説した動画の埋め込みコード(本記事とは無関係の内容です)
W3CのMarkup Validation Serviceでチェックしてみます。
※このツールで、HTMLが正しく記載されているかチェックできます。
※使い方は「HTML、CSSが正しく書けているかチェックする方法」を参照。
すると、以下のようなエラーメッセージが出力されます。
Error The frameborder attribute on the iframe element is obsolete. Use CSS instead.

Youtubeの埋め込みコードにデフォルトで記載されている「frameborder=”0”」がエラーの原因のようです。
要約すると
「iframeのframeborderは廃止されたよ!代わりにCSSを使ってね!」
と書いてあります。
エラーは出るけど、表示はできる
実際は「frameborder=”0″」が入っていても、以下のように問題なく表示はできます。
↑以前、inputタグのinputmodeについて解説した動画の埋め込みコード(本記事とは無関係の内容です)
エラー回避方法
- HTMLから「frameborder=”0″」を削除
- 必要がある場合は、CSSで調整
これだけでエラーが回避できます!
まとめ
どうせ書くなら、ルールに則って書かれたエラーのない高品質なコードを目指しましょう!