仕組み
広告クリエイティブのアクセシビリティは、誰がレンダリングを制御するかによって異なる:- フォーマットレンダリングのクリエイティブ(画像 + ヘッドライン + CTA): フォーマットが出力を制御します。コントラスト比、キーボードナビゲーション、ARIA ランドマークを保証できる — クリエイティブから適切な入力(画像の alt テキスト、ビデオのキャプションなど)が必要なだけ。
- 不透明なクリエイティブ(HTML バンドル、JavaScript タグ): フォーマットはコンテンツを検査または変更できません。アセットはそのアクセシビリティプロパティを自己宣言しなければなりません。
accessibility オブジェクトとアセットタイプごとのアクセシビリティメタデータを通じて両方のケースを処理します。
フォーマットのアクセシビリティ
フォーマットはaccessibility オブジェクトを通じてアクセシビリティの姿勢を宣言する:
accessibility.wcag_level
このフォーマットが生成するクリエイティブが満たす WCAG 準拠レベル。値: A、AA、AAA。
フォーマットレンダリングのクリエイティブでは、これはフォーマットからの保証です。不透明なクリエイティブでは、フォーマットがアセットに自己認証を求めるレベルを反映します。
accessibility.requires_accessible_assets
true の場合、アクセシビリティ関連フィールドを持つすべてのアセットはそれらのフィールドを含めなければなりません。これは強制メカニズムだ — オプションのアクセシビリティフィールドを必須として扱うよう検証に指示します。
alt_text を必要とする(alt_text が画像アセットタイプのアクセシビリティフィールドとしてマークされているため)。
アセットのアクセシビリティフィールド
各アセットタイプはx-accessibility スキーママーカーを使用してそのフィールドのどれがアクセシビリティ関連かを定義します。これらのフィールドはデフォルトで常にオプションだが、フォーマットが accessibility.requires_accessible_assets: true を設定すると必須になります。
検査可能なアセット
これらのアセットは、フォーマットがアクセシブルにレンダリングするために使用する構造化データを提供します。| アセットタイプ | アクセシビリティフィールド | 目的 |
|---|---|---|
| Image | alt_text | スクリーンリーダー用の代替テキスト |
| Video | captions_url | キャプションファイルへの URL(WebVTT、SRT) |
transcript_url | テキストトランスクリプトへの URL | |
audio_description_url | 音声説明トラックへの URL | |
| Audio | transcript_url | テキストトランスクリプトへの URL |
不透明なアセット
HTML と JavaScript アセットはブラックボックスだ — フォーマットはそのレンダリングを検査できません。これらのアセットは自己宣言プロパティを持つaccessibility オブジェクトを持ちます。
| フィールド | 型 | 説明 |
|---|---|---|
alt_text | string | クリエイティブコンテンツを説明するテキスト代替 |
keyboard_navigable | boolean | クリエイティブがキーボードで完全に操作できる |
motion_control | boolean | prefers-reduced-motion を尊重するか、一時停止/停止コントロールを提供する |
screen_reader_tested | boolean | クリエイティブがスクリーンリーダーでテストされた |
サードパーティタグ
VAST と DAAST アセットはサードパーティによって配信されるビデオとオーディオをラップします。既存のタグプロパティとともにアクセシビリティフィールドを持ちます。| アセットタイプ | アクセシビリティフィールド |
|---|---|
| VAST | captions_url、audio_description_url |
| DAAST | transcript_url |
アクセシビリティフィールドのないアセット
一部のアセットタイプはスタンドアロンのレンダリングコンテンツを生成せず、アクセシビリティフィールドを持たない。フォーマットがaccessibility.requires_accessible_assets: true を設定した場合、これらは実質的に何もしない:
- Text — フォーマットによってレンダリング
- Markdown — フォーマットによってレンダリング
- CSS — スタイル、コンテンツではありません
- URL — リンク、レンダリングコンテンツではありません
- Webhook — サーバーサイド
アクセシブルフォーマットの発見
バイヤーはlist_creative_formats の wcag_level パラメーターを使用してアクセシブルなフォーマットをフィルタリングできる:
AA をリクエストすると AA または AAA のフォーマットが返されます。
実装ノート
適用はアプリケーションレベルです。x-accessibility マーカーは JSON Schema 拡張キーワードです。標準 JSON Schema バリデーターはそれを無視する — accessibility.requires_accessible_assets の適用は、x-accessibility: true フィールドのアセットスキーマをスキャンしてその存在を検証するアプリケーションコードで実装しなければなりません。
フォーマット実装者向け:
- 主張を実証できる場合のみ
accessibility.wcag_levelを設定する — 独自のレンダリング保証またはアクセシブルアセットの要求を通じて - フォーマットが構造化入力からレンダリングする場合、レンダリングパイプラインが宣言された WCAG レベル(コントラスト、キーボードナビゲーション、ARIA)を満たすことを確認します
- フォーマットが不透明なアセットをラップする場合、
accessibility.requires_accessible_assets: trueにより入力が適切な宣言を持つことが保証されます
accessibility.requires_accessible_assets: trueのフォーマットに送信する場合、アセットタイプのすべてのアクセシビリティフィールドを含めます- 不透明なアセットの場合、宣言する前にアクセシビリティプロパティをテストします
- キャプションとトランスクリプトはアセットに埋め込まれたものではなく、別々にホストされたファイルとして提供します
関連ドキュメント
- クリエイティブフォーマット — フォーマット構造と要件
- アセットタイプ — アセット仕様とペイロードスキーマ
- クリエイティブマニフェスト — アセットとフォーマットのペアリング
- list_creative_formats — フィルタリングを使ったフォーマット発見