datalist/details/embed

<datalist>

datalist要素は、他のコントロールに対して事前に用意した選択肢を表すoption要素のセットを表します。この要素のコンテンツは、古いユーザーエージェントに対してはフォールバック・コンテンツを表すことになり、事前に用意した選択肢を表すoption要素と混ざり合うことになります。 <datalist>~</datalist>の内容は、その子要素も含めてブラウザ上では表示されないことになっています。

datalist要素は、input要素上のlist属性を使って、そのinput要素と結び付けられます。

それぞれのoption要素が、datalist要素の子孫で、無効でなく、その値が空文字列ではない文字列なら、それらはサジェストを表します。それぞれのサジェストは、値とラベルを持ちます。

HTML5コーディングならココ!

[an error occurred while processing this directive]

<form>
<fieldset>

<input type=”search” autocomplete=”on” list=”keywords”>
<datalist id=”keywords”>
<option value=”yahoo”>
<option value=”google”>
<option value=”アンサイクロペディア”>
</datalist>

<input type=”submit” value=”submit”>
</fieldset>
</form>

<details>

details要素は、ユーザーが追加情報やコントロールを取得できるディスクロージャー・ウィジットを表します。

details要素を注釈に使うのは適切ではありません。注釈をどのようにマークアップするのかについての詳細は、注釈の節をご覧ください。

この要素の最初の子要素は、もしそれがsummary要素であれば、詳細情報の要約や説明文を表します。summary要素がなければ、ユーザーエージェントは、それ自身の説明(例:”詳細”)を与えるべきです。

openコンテンツ属性は論理属性です。もし存在すれば、それは、その詳細情報をユーザーに表示することになっていることを表します。なければ、その詳細情報は表示されないことになります。

この要素が生成されたとき、この属性が存在しなければ、その詳細情報は非表示にするべきです。この属性が存在していれば、その詳細情報は表示されるべきです。その後、この属性が削除されたら、その詳細情報は非表示となるべきです。もしこの属性が追加されたら、その詳細情報は表示されるべきです。

ユーザーエージェントは、ユーザーが詳細情報を表示するのか非表示にするのかをリクエストできるようにするべきです。その詳細情報の表示リクエストを受けたら、ユーザーエージェントは、その要素のopen属性の値をopenにセットしなければいけません。その詳細情報の非表示リクエストを受けたら、ユーザーエージェントは、その要素からopen属性を削除しなければいけません。

open属性は、openコンテンツ属性を反映しなければいけません。

<section>
<h1>ファイルダウンロード</h1>
<details>
<summary>「movie.mp4」をダウンロード</summary>
<dl>
<dt>name:</dt>
<dd>movie.mp4</dd>
<dt>type:</dt>
<dd>MPEG-4</dd>
<dt>size:</dt>
<dd>640×420</dd>
<dt>time:</dt>
<dd>15s</dd>
<dt>今現在:</dt>
<dd>あなたの後ろにいるのは誰?</dd>
</dl>
</details>
</section>

<embed>

embed要素は、外部の(通常は非HTML)アプリケーションやインタラクティブ・コンテンツのための統合ポイントを表します。

よく利用されるプラグインデータには、動画データにはMPEGファイル(.mpg)・FLASHファイル(.swf)・QuickTimeファイル(.mov)等、 音声データにはWAVEファイル(.wav)・AIFFファイル(.aif)・AUファイル(.au)・MIDIファイル(.mid)・ RealAudio(.ra) 等があります。これらの動画データや音声データは、 ブラウザに追加インストールされたプラグインで再生しますが、再生するデータの形式により必要なプラグインは異なります。

src属性は、組み込まれるリソースのアドレスを与えます。この属性が存在すれば、それは潜在的にスペースで囲まれた空でない妥当な URLを含まなければいけません。

type属性が存在したら、それは、インスタンスを生成するために、プラグインのMIME タイプを与えます。その値は妥当な MIME タイプでなければいけません。もしtype属性とsrc属性の両方が存在したら、type属性は、src属性で指定されたリソースの明示的な Content-Type メタデータと同じタイプを指定しなければいけません。

この要素がsrc属性もtype属性も使わずに生成されたとき、属性が削除されてこの要素にもう属性が存在しないとき、この要素が祖先にメディア要素を持つとき、この要素が祖先にフォールバック・コンテンツを見せていないobject要素を持つとき、この要素に対してインスタンス化されたあらゆるプラグインが削除されなければいけません。そして、embed要素は何も表しません。

以下のいずれかの場合:

  • 該当のembed要素のDocumentが生成されたとき、そのDocumentがアクティブ・ドキュメントとなるブラウジング・コンテキストにサンドボックス化プラグイン・ブラウジング・コンテキスト・フラグがセットされていた場合。
  • 該当のembed要素のDocumentが、ナビゲーション中に判定した傍受タイプがtext/html-sandboxedとなるリソースからパースされた場合。

上記に該当するとき、ユーザーエージェントは、プラグインが無効にされたことがわかるように、embed要素をレンダリングしなければいけません。ユーザーエージェントは、サンドボックスを書き換え、そのプラグインをとにかくインスタンス化するオプションをユーザーに提供することができます。もしユーザーがそのようなオプションを呼び出したら、ユーザーエージェントは、あたかも上記の条件がこの要素の目的において当てはまらなかったかのように振る舞わなければいけません。

<embed>は、もともとはNetscape Navigator独自の要素で、 HTML4.01の仕様には取り入れられていませんが、すでに事実上の標準として一般的なブラウザでサポートされています。 HTML5では、正式に標準仕様として採用される予定です。

WEB制作でお困りのあなたに朗報

属性

src属性
データのURLを指定する
type属性
MIMEタイプを指定する
width属性
幅を指定する
height属性
高さを指定する