タイトル: param要素
SEOタイトル: HTML param要素(object 要素に渡すパラメータ / 非推奨化 / 代替手段)
| この記事の要点 |
|
param 要素とは
param 要素()は、 要素で埋め込んだ外部リソース(Flash、Java Applet、ActiveX、各種プラグインなど)に対して、名前付きのパラメータを渡すための HTML 要素です。name 属性と value 属性のペアでパラメータを 1 つずつ宣言します。
の子要素としてのみ使用でき、内容を持たない void 要素のため終了タグはありません。
基本構文
属性
| 属性 | 必須 | 意味 |
|---|---|---|
name | 必須 | パラメータ名(埋め込みオブジェクト側が解釈する) |
value | 任意 | パラメータの値(文字列) |
type | HTML4 のみ | value の MIME タイプ(HTML5 で廃止) |
valuetype | HTML4 のみ | data / ref / object のいずれか(HTML5 で廃止) |
非推奨の理由
- Flash Player は 2020 年 12 月に EOL。Adobe / 主要ブラウザがサポートを終了済み。
- Java Applet は Java 9 で非推奨、Java 11 で削除。ブラウザ側でも実行不可。
- ActiveX は IE 専用で、Microsoft Edge(Chromium 版)では未対応。
- HTML5 ネイティブ要素(
//)と JavaScript API で同等以上の機能が実現できる。
現代的な代替
| 旧来の用途 | 代替手段 |
|---|---|
| Flash 動画 | + MP4 / WebM |
| Flash 音声 | + MP3 / Ogg |
| Flash アニメーション / ゲーム | + JavaScript (PixiJS / Phaser など) |
| Java Applet | JavaScript + WebAssembly |
| PDF 埋め込み | または |
| SVG / 画像 | / 直接記述 |
HTML5 の MP4 動画への置き換え例
まとめ
- param 要素は
にパラメータを渡す void 要素 - HTML Living Standard では obsolete。新規実装では使わない
- 動画 →
、音声 →、PDF →に置き換える - 古いページの保守時のみ仕様を把握しておけば十分
歴史的経緯
は HTML 3.2 で 要素用に導入され、HTML 4 で の子としても使えるように拡張されました。当時は Java Applet で Web ページに対話的なコンテンツを埋め込むのが一般的で、サーバ URL・ウィンドウサイズ・初期値などを でアプレットに渡していました。続く 2000 年代には Flash プレイヤーへの動画 URL・自動再生フラグ・音量などの伝達手段としても多用されました。Flash の普及期には 1 つの に 5〜10 個の を並べるのが普通で、ブラウザ別 / プラグイン別のフォールバック記述が複雑化していました。HTML5 で / / がネイティブ機能として登場し、プラグインに依存しない実装が可能になったことで の存在意義が急速に薄れていきました。
古いコードを保守する場合のチェックポイント
- 埋め込みリソース(
data)の MIME タイプが現在もサポートされているか - HTTPS 化されているか(
http://リソースは Mixed Content でブロック) - レスポンシブ対応されているか(
width/height固定値の場合は CSS で上書き) - アクセシビリティ:
内にテキスト代替が書かれているか - セキュリティ:埋め込み元が信頼できるドメインか、
X-Frame-OptionsやContent-Security-Policy設定があるか
HTML パーサと param 要素
はvoid 要素として定義されているため、終了タグを書くと HTML パーサが警告を出します。XHTML 由来の自己閉じ表記 も、HTML5 では不要ですが許容されます。 の子としてのみ意味を持つため、それ以外の親要素に置くと CSS の display 計算にも影響しないただの未知要素扱いになります。Validator にかけたときに「obsolete features」として警告が出ても、既存ページの動作は影響を受けません。新規実装で同等の機能が必要な場面はほぼないため、リファクタリングではまず意味のある HTML 要素への置換を検討すべきです。
仕様変遷の概要
| バージョン | param 要素の扱い |
|---|---|
| HTML 4.01 | 正式仕様。Applet / Flash の標準パラメータ伝達手段 |
| HTML5(W3C) | 残存。type / valuetype を非推奨 |
| HTML Living Standard | obsolete(旧式)。新規利用は推奨されない |
関連
- embed要素 — 外部リソースを埋め込む類似要素
- object要素 — param の親となるオブジェクト埋め込み要素
- video要素 — HTML5 の動画埋め込み
- audio要素 — HTML5 の音声埋め込み
- iframe要素 — 別文書の埋め込み