Copyright © 2021 W3C® (MIT, ERCIM, Keio, Beihang). W3C liability, trademark and permissive document license rules apply.
本書は「画像リソース」の概念と、それに対応するWebIDL ImageResource 辞書型を定義します。Web APIは
ImageResource 辞書を使うことで、
HTMLImageElement が適さない、あるいは利用できない(例:Worker内)状況で画像リソースを表現できます。
このセクションは、公開時点での本書のステータスを説明します。 他の文書が本書に取って代わる場合があります。現在の W3C 公開文書およびこの技術報告書の最新版は W3C 技術報告一覧 https://www.w3.org/TR/ で確認できます。
この仕様は安定していません。 議論に参加していない実装者は、互換性のない方法で仕様が変わる可能性があります。
この文書は Web Applications Working Group により作業草案として公開されました。 この文書は W3C 勧告を目指しています。
この仕様の議論は GitHub Issues で行うことを推奨します。
作業草案として公開されている文書は W3C 会員による承認を意味するものではありません。
この文書は草案であり、随時更新・差し替え・廃止される場合があります。進行中の作業以外としてこの文書を引用するべきではありません。
この文書は W3C 特許ポリシーの下で運営されているグループによって作成されています。 W3C は、 パブリックな特許開示リスト を管理しています。そのページでは特許の開示方法も案内されています。実際に特許の存在を知り、それが 必須クレーム に該当すると考える場合は、 特許ポリシー第6節 に従い開示が必要です。
この文書は 2020年9月15日版 W3C プロセス文書 に準拠します。
ウェブアプリケーションは、HTMLドキュメント外(OSやブラウザーUIなど)で表示される画像リソースを開発者から受け取ることがよくあります。この仕様は、画像を記述し、その画像リソースの取得先を示すWebIDL辞書型を定義します。ユーザーエージェントは、この追加情報を利用することで、エンドユーザーの端末に最適、またはユーザーの嗜好や環境にもっとも近い画像を選択できます。
画像リソースの取得時、ユーザーのIPアドレスが判明することがあります。 ユーザーエージェントは、開発者から提供された画像リソースを取得し、必要に応じて再利用できるよう保存することが推奨されます。 これにより、ユーザーの位置情報の長期的な追跡が制限されます。
画像リソースは次の要素から構成されます:
link要素の
sizes
属性と同じ構文を使用します。
APIでは、画像リソースはImageResource辞書として表されます。
ImageResource 辞書型
WebIDLdictionary ImageResource {
required USVString src;
DOMString sizes;
DOMString type;
DOMString label;
};
src メンバー
srcはImageResourceの画像データをユーザーエージェントがフェッチできるURLです。
sizes メンバー
sizesメンバーはlink要素のsizes属性と同等であり、同じ方法で処理されます。
複数のImageResource辞書が利用可能な場合、ユーザーエージェントは任意で sizes値を使って表示状況に最適な画像を選択(不適切なものは無視)できます。
sizesメンバーは複数のサイズ値をスペース区切りで指定でき、
さまざまなサイズの画像を格納できる(ICOなどの)フォーマットに対応します。
const image = {
src: "path/to/image.ico",
sizes: "16x16 32x32 64x64",
type: "image/vnd.microsoft.icon",
};
some.api.doSomething(image);
type メンバー
typeメンバーは画像リソースの画像MIMEタイプを表します。ユーザーエージェントは、未対応メディアタイプを無視してもよいです。
ImageResourceにデフォルトのMIMEタイプはありません。
typeはあくまで参考情報です。ユーザーエージェントは必ず
画像用のスニッフィング規則で
計算済みMIMEタイプ
を決定しなければなりません。
label メンバー
labelは、ImageResourceに対応する画像の文字列
であり、画像のアクセシブル・ネームを提供します。
実装者は、ユーザーに公開するすべてのImageResourceに対し、アクセシブル・ネームの導出を必須で行わなければなりません。
著者は、labelを明示的に追加することが強く推奨されます。
ただし、ImageResourceのアクセシブル・ネームが
コンテキストから外部ラベルとして推論できる場合を除きます。例えば、
マニフェスト文脈では、name(または
short_name)が
外部ラベルとして指定され、 labelを持たない icons
配列のすべての要素のラベルとなります。
明示的なlabelも外部ラベルも提供されていないが、typeが埋込型アクセシブル・ネームをサポートする場合、実装者はsrc取得・処理まで labelの割り当てを遅延できる可能性がある。
srcから埋込型アクセシブル・ネームが取得できた場合、
実装者はlabelをその値に更新必須です。
ImageResource処理
APIからのImageResourceの処理は、次のアルゴリズムで示されます。このアルゴリズムは
ImageResource inputを受け取り、画像リソースを返します。
JSONから画像リソースを処理するには、JSONオブジェクトinputおよびURLbaseを与える。返り値は順序付きマップ。
画像リソースの取得の手順は次のアルゴリズムで示される。アルゴリズムは画像リソースimageと、オプションでRequestrequestを受け取り、返り値はResponse。
undefinedの場合:
TypeErrorを投げる。
アクセシブル・ネームの導出は画像リソースresourceに対し次の手順で行う。返り値は文字列。
画像内容の一部として埋込型アクセシブル・ネームを含められるグラフィックス形式もある。たとえば次のようなものがある:
この仕様の中で非規範的と明示されたセクション、著者ガイドライン、図、例および注記はすべて非規範的です。それ以外は規範的です。
本文書中の MAY、MUST、RECOMMENDED というキーワードは、BCP 14 [RFC2119] [RFC8174] で説明されたとおり、大文字で現れた場合に限り、規範的な意味を持ちます。
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in: