Web標準とその周辺技術の学び方

第2回 仕様書に沿ったページを作るために

この記事を読むのに必要な時間:およそ 2 分

Markup Validatorのエラーは英語……

残念ながら、Markup Validatorの検証結果は英語で書かれています。中にはちょっと分かりにくい表現もありますので、ここで簡単に発生しやすいエラーについて、その意味を紹介したいと思います。

element "●●●" undefined
仕様書で定義されていない要素を利用している際に起こります。embedなど非標準なものや、タイプミスなどにより発生します。

例:

<embed src=flash.swf ...>
<ah href="/">トップページへ</a>
there is no attribute "●●●"
仕様書で定義されていないか、もしくはその要素内で利用することができない属性を書いてしまった場合、あるいは属性のタイプミスによりに発生します。

例:

<body leftmargin="0" ...>
<img href="shinjuku.jpg" ...>
required attribute "●●●" not specified
img要素のalt属性など、必ず記述しなければいけない属性が記述されていないときに発生します。

例:

<img src="book_cover.jpg"><br />最新刊:「あたらしいWeb標準」
end tag for "●●●" omitted, but its declaration does not permit this
タグの閉じ忘れや、タグを互い違いに記述してしまったときによく起こります。

例:

日本三名園のひとつ、<a href="..."><em>兼六園</a></em>は石川県金沢市にあります。
end tag for element "●●●" which is not open
こちらは逆に、カット&ペーストなどでミスをしてしまい、終了タグだけが書かれている場合に起こります。

例:

<ul>
<li> ... </li>
<li> ... </li></li>
</ul>
NET-enabling start-tag requires SHORTTAG YES
HTMLでは属性値の引用符を省略できる場合がありますが、値にスラッシュが入る場合は引用符で括る必要があります。このエラーは、href属性などURLを記述するもののうち、属性値を引用符で括っていないときに発生します。

例:

<a href=http://example.com/news ...>最新ニュース</a>
general entity "●●●" not defined and no default entity
reference to entity "●●●" for which no system identifier could be generated
「&」「&amp;」と書かれていない場合にこのエラーが発生します。パラメータつきのURLなどでよく起こりますが、文中でも「&」と書くこともできないため注意してください。常に「&amp;」と書く必要があります。

例:

<a href="news.php?cat=sports&date=20090319&num=25...">3月19日のスポーツニュース</a>

書きなれてくると「チェックしなくてもいいや」と思いがちですが、タイプミスや終了タグの閉じ忘れなど、うっかり発生してしまうエラーもあります。こまめにチェックして、仕様書に沿った文書を維持しましょう。

著者プロフィール

矢倉眞隆(やくらまさたか)

株式会社ミツエーリンクスにて、品質向上に関する業務やWeb標準の啓蒙などに取り組む。HTMLやCSS,WebAppsなどWeb技術の最新動向を追いかけ,「Web標準Blog」にて情報を公開中。

コメント

コメントの記入