object要素

このエントリーをはてなブックマークに追加

object要素はFlashや画像、他の文書、アプレットなどの「オブジェクト」をhtml内に埋め込むための要素です。

object要素には代替テキスト、つまりオブジェクト要素に対応していない場合に表示されるスペースがあります。
この大体テキストを最適化することによりオールFlashのコンテンツなどでもSEO対策を行う事ができます。

<object data="swfファイル" type="application/x-shockwave-flash" height="100" width="100">
	<param name="movie" value="swfファイル">
	代替テキスト
</object>

『代替テキスト』の部分記述した内容が『携帯電話(一部)』『音声ブラウザ』、『テキストブラウザ』、『検索エンジンクローラー』などのオブジェクト要素に対応していないデバイスの際に表示されます。

よく使われるのが

<object data="swfファイル" type="application/x-shockwave-flash" height="100" width="100">
	<param name="movie" value="swfファイル">
	Flashプレーヤ―をインストールしてください。
</object>

などの注意書きを記述することも多いが、アクセシビリティを考慮する限り、ユーザが内容を閲覧できるようコンテンツ内容を記述することが好ましいと思います。
(img要素のalt属性に『画像をonにしてください』なんて書かないですもんね)

object要素はインライン要素ですが任意のブロックレベル要素とインライン要素の内包が可能ですが、object要素の親要素が内包できないものは記述できません。

<p>
	<object data="swfファイル" type="application/x-shockwave-flash" height="100" width="100">
		<param name="movie" value="swfファイル">
		<h1>コンテンツ内容</h1>
	</object>
</p>

このようにobject要素の親要素であるp要素はブロックレベル要素(この場合のh1要素)の内包が許可されていない為、文法的に誤りといえます。

正しく書きたい場合は、以下のように記述します。

<div>
	<object data="swfファイル" type="application/x-shockwave-flash" height="100" width="100">
		<param name="movie" value="swfファイル">
		<h1>コンテンツ内容</h1>
	</object>
</div>

ブロックレベル要素を内包できるdiv要素を親要素に持ってくることで文法的に正しくなります。

注意点

スパムと間違えれるような記述は避けた方がよいです。(キーワードだけの内容のないもの)
オブジェクトを切って正しい内容が伝わるかどうか、ちゃんと検証しましょう。
結果としてSEOはついて来ますの。

スポンサードリンク