この文書は「Alternate Style Tags」の日本語訳である。最新の文書は https://www.w3.org/Submission/altss-tags/ である。原文もしくは完全な情報は、Alternate Style Tags を参照されたい。

この日本語訳は参考である。公式な文書ではなく、翻訳・解釈の正確性を保証していない。

公開日:
2016年7月6日
修正日:
2019年11月29日
翻訳者:
Wataru Yoshimura

要約

Alternate Style Tags は、マイクロフォーマットを使用して代替スタイル シートにタグ付けするパターンを定義する。

このドキュメントのステータス

このセクションは、発行時点におけるこのドキュメントのステータスについて説明する。他のドキュメントは、このドキュメントより優先されるだろう。現在の W3C 発行物のリストは、https://www.w3.org/TR/ の W3C テクニカル レポート インデックスにある。

このドキュメントを発行することで、W3C は、サブミッション メンバーが議論のために W3C へ正式な提案リクエストを行ったことを承認する。W3C がこのドキュメントを発行したことは、W3C によってその内容の承認、または W3C がそれによって扱われる問題に何らかのリソースを割り当てている、または持っていることを示していない。このドキュメントは、公認の W3C グループの成果物ではなく、W3C プロセスへの潜在的なインプットとして発行された。W3C チーム コメントは、このメンバー サブミッションと共に合同で発行されている。W3C サイトで承認されたメンバー サブミッションを発行することは、W3C メンバーシップの利点のひとつである。W3C 特許ポリシーのセクション 3.3 のメンバー サブミッションに関連する要件を参照されたい。完全な承認された W3C メンバー サブミッションのリストを参照されたい。

1. 前置き

このセクションは規定ではない。

このモジュールは、マイクロフォーマットを使用して代替スタイル シートのタグ付するためのパターンを定義している。それは、ブラウザ UI へフックすることができる標準化されたクラスを定義するために使用できる。サンプルの使用例は、日本の電子書籍リーダーで縦横レイアウトを切り替え、自動的に高いコントラストのスタイルの選択や他のアクセシビリティの懸念を包含する。

HTML 4.0 は、link 要素を使用して、外部スタイル シートのリンクを定義する。一般的にスタイル シートは無条件にリンクされるけれども、HTML 4 はまた、読者が表示を変更するために使用できるスタイル シートの相互排他的なセットである代替スタイル セットと名付けられたものを定義する。

今まで、ほとんどの [HTML] ユーザー エージェントは、意義のある方法で代替スタイルを公開しなかった。しかしながら、代替スタイルは、自分の好みやアクセシビリティの必要性にドキュメントの変更をユーザーに許可するとても簡単な方法である。

この仕様は、標準化された class 名でスタイル シートをタグ付けるためのマークアップのパターンをスタイル タグを定義する HTML link 要素([HTML] で導入されたが、非常に長いために多くのユーザー エージェントでサポートしている)の class 属性を利用する。これらのクラス名は、このようなタグ付けされたスタイル セットへの特別な UI アクセスを提供するために UA によって利用することができる。

この提案の元々の動機は、日本の電子書籍リーダーで横組みと縦組みを切り替えるための標準的なコントロールを提供することで、この使用方法は、補足 A 縦組みテキストのスタイル セット タグで扱われている。

2. 適合性

規定ではないとしてマークされたセクションだけでなく、この仕様の全てのオーサリング ガイドライン、図、例および注釈は規定ではない。この仕様の他の全ては規定である。

キーワード、MAYMUSTMUST NOTOPTIONALRECOMMENDEDREQUIREDSHALLSHALL NOTSHOULDSHOULD NOT は、[RFC2119] の記述に従って解釈される。

  適合性

UA が一方的に製作者のスタイル シートをオフにしている場合は、この仕様は適用されないことに注意されたい。(この機能は、HTML と CSS によって要求されている。)この場合、もちろん、すべてのスタイル シートは無視される。

[CSSOM] は、指定されたスタイル シートを有効にするか無効にするかどうかを制御するための、より低レベルのコントロールを持ち、CSSOM をスクリプト化することで、ここで定義されている挙動を変更してもよい(MAY)。

Note

この仕様の将来の版では、[CSSOM] でエラーの取り扱い規則やインタラクションを定義するであろう。

この文書内のキーワード、MUSTMUST NOTREQUIREDSHALLSHALL NOTSHOULDSHOULD NOTRECOMMENDEDMAYOPTIONAL は、[RFC2119] の記述に従って解釈される。

この仕様のすべてのセクションと付録は規定である。但し"このセクションは有益な情報である"という参考情報状態ラベルで識別される箇所を除く。セクションと補足への参考情報状態の適用は、含まれるすべての子コンテンツおよびサブセクションに適用される。

この仕様のすべての例は規定ではない。

3.   スタイル セット

このセクションは規定ではない。

これは、専門用語を少々変更することで、HTML の宣言的な代替スタイル シート メカニズムの有益な概要である。

HTML 4 は、リンクのメカニズムでスタイル シートの二つの型、固定スタイル シート(persistent style sheet)と代替スタイル シート(alternate style sheet)、を定義する。

固定スタイル シートは、代替スタイル シートが有効かどうかに関わらず、常に有効である。固定スタイル シートは、それを取り込む link 要素または style 要素の title 属性を省略することによって指示される。

代替スタイル シートは、代替セットの一部であり、そのセットの一部として有効または無効にできる。代替スタイル シートは、それを取り込む link または styletitle 属性に空でない値をセットすることで指示される。固定スタイル シートのセット(次を参照)に属しているスタイル シートを除き、代替スタイル シートは、stylesheet 値に追加する rel 属性値に alternate 値を持つ必要がある。

HTML は、指定された代替スタイル セットで、単一に複数の代替スタイル シートのグルーピングを許可する。同じ title 値を持つすべての代替スタイル シートは、同じスタイル セットに属する。

製作者は、代替スタイル セットが、そのコンポーネントの代替スタイル シートそれぞれの rel 属性の alternate 値を省略することで優先するかどうかを指示することができる。優先するスタイル セットが定義されていないとき、初期設定の優先するスタイル セットは、代替スタイル シートが含まれていない名前のないセットである。

初期設定では、最初の優先スタイルが読み込まれる。製作者は、[HTML401] で定義された Default-Style メタまたは HTTP ヘッダーでこの挙動を上書きできる。

4.   タグ付きスタイル セット

スタイル シートは、それを取り込み、link または style 要素の class 属性にタグ名を追加することによって認識することができる。標準のスタイル タグ(この仕様を参照する仕様で定義されたもの)でタグ付けされたスタイル シートは、スタイル タグの定義に記載されている機能を実装していることを示している。代替スタイル シートと固定スタイル シートの両方は、この方法でタグ付けしてもよい(MAY)。

スタイル シートは、タグ付けされたそのコンポーネントのスタイル シートのうちのいづれかで認識することができる。タグ付けされたスタイル セットは、それがスタイル タグの定義に記載された機能を提供していることを示している。

標準のタグを使用している製作者は、標準タグの同じセットでスタイル セット内のすべての代替スタイル シートにタグを付けるべきである(SHOULD)。

Note

この仕様の将来のバージョンは、スタイル セット内のタグ付けされたスタイル シートを選択的に無効にすることを UA に許可するかもしれない。従って、同時に有効化もしくは無効化にする必要のあるすべての代替スタイル シートは、標準的なタグと同じセットを持つ必要がある。

スタイル セット内の二つのスタイル シートが相互排他的なタグで認識されるとき、両方のタグは無視される。

スタイル タグを定義した仕様は、特定のタグが、タグ付けされていないスタイル セットの初期設定であると想定されていると示してもよい(MAY)。

A.   補足 A. 縦組みテキストのスタイル セットタグ

次のスタイル セットタグは、この附録で定義されている:

horizontal

このスタイル セットは、主にテキストの横組みの表現を提供する。このタグは、vertical と相互排他的である。

vertical

このスタイル セットは、主にテキストの縦組みの表現を提供する。このタグは、horizontal と相互排他的である。

UA は、タグ付けされていないスタイル セットを horizontal もしくは vertical のどちらかと推測してもよく(MAY)、代わりにこのようなスタイル セットに不確定な状態を指定してもよい(MAY)。

次の例は、XHTML 構文を使用している。HTML 構文を使用するときは、単純にタグ内の > 前のスラッシュを削除する。

次の例は、製作者が、主にドキュメントの横組み表示用のスタイルシートを提供している。

   <link rel="stylesheet" href="horizontal.css" class="horizontal"/>

UA は、横組みバージョンのみを提供されていることを認識し、もし必要なら縦組みスタイルを合成するであろう。

次の例では、製作者は、ドキュメントの主に縦組みテキスト表現のためにスタイル シートを提供する。

   <link rel="stylesheet" href="vertical.css" class="vertical"/>

UA は、縦組みバージョンのみを提供されていることを認識し、もし必要なら横組みスタイルを合成するであろう。

次の例では、製作者は、ドキュメントの横組みテキストと縦組みテキスト表現の両方のためにスタイル シートを提供する。

  <link rel="stylesheet" href="horizontal.css" class="horizontal" title="横組"/>
<link rel="alternate stylesheet" href="vertical.css" class="vertical" title="縦組"/>

rel 属性の alternate 値はマークされた二つ目のスタイル セットのみなので、著者は、ユーザーの上書きがない場合に、横組みスタイル セットを優先することを示し、初期設定として使用されるべきである。

次の例では、製作者は、ドキュメントの横組みテキストと縦組みテキスト表現の両方のためにスタイル シートを提供する。

  <link rel="alternate stylesheet" href="horizontal.css" class="horizontal" title="横組"/>
<link rel="stylesheet" href="vertical.css" class="vertical" title="縦組"/>

rel 属性の alternate 値はマークされたひとつ目のスタイル セットのみなので、著者は、ユーザーの上書きがない場合に、縦組みスタイル セットを優先することを示し、初期設定として使用されるべきである。

次の例では、著者は、ドキュメントの横組みテキストと縦組みテキスト表現の両方のためにスタイル シートを提供する。

  <link rel="stylesheet" href="horizontal.css" class="horizontal" title="横組"/>
<link rel="stylesheet" href="vertical.css" class="vertical" title="縦組"/>

どちらも rel 属性の alternate 値がマークされていないため、両方とも製作者によって優先された表現である。横組みの表現が最初に提供されているので、逆にユーザー設定がない場合、初期設定として使用される。

B.   補足 B. 夜間視のスタイル セットタグ

次のスタイル タグは、この補足で定義される。

day

このスタイル セットは、昼間に使用する(明るい背景、暗いテキスト)ために適したカラースキームを提供する。このタグは、night と相互排他的である。

night

このスタイル セットは、夜間に使用する(暗い背景、明るいテキスト)ために適したカラースキームを提供する。このタグは、day と相互排他的である。

次の例では、製作者は、ドキュメントの昼間と夜間視の両方のためにスタイル シートを提供する横組みテキストと縦組みテキスト表現の両方が利用可能だが、横組み表現が優先である。

  <link rel="alternate stylesheet" href="vertical.css" class="vertical" title="Vertical Day"
  <link rel="alternate stylesheet" href="day.css"      class="day"      title="Vertical Day"/>
  <link rel="alternate stylesheet" href="vertical.css" class="vertical" title="Vertical Night"/>
  <link rel="alternate stylesheet" href="night.css"    class="night"    title="Vertical Night"/>
  <link rel="stylesheet" href="horizontal.css" class="horizontal" title="Horizontal Day"/>
  <link rel="stylesheet" href="day.css"        class="day"        title="Horizontal Day"/>
  <link rel="stylesheet" href="horizontal.css" class="horizontal" title="Horizontal Night"/>
  <link rel="stylesheet" href="night.css"      class="night"      title="Horizontal Night"/>

優先されるスタイル セットのうち、昼間視用が最初にリストアップされ、他に優先するものがないとき初期値として読み込まれる。

同じ効果は、@inport 文を使用してより少ないリンクタグで作成することができる。

  <link rel="alternate stylesheet" href="vertical-day.css"   class="vertical day"   title="Vertical Day"/>
<link rel="alternate stylesheet" href="vertical-night.css" class="vertical night" title="Vertical Night"/>
<link rel="stylesheet" href="horizontal-day.css"   class="horizontal day"   title="Horizontal Day"/>
<link rel="stylesheet" href="horizontal-night.css" class="horizontal night" title="Horizontal Night"/>

vertical-day.css

  @import "vertical.css";
import "day.css";

vertical-night.css

  @import "vertical.css";
import "night.css";

horizontal-day.css

  @import "horizontal.css";
import "day.css";

vertical-night.css

  @import "horizontal.css";
import "night.css";

C.   補足 C. 謝辞

このドラフトは、W3C CSS Working GroupIDPF EPUB Working Group から生じ、Anne van Kesteren 氏の特別な提案なしには存在しないであろう。

D.   参照・参考

D.1 参照文献

[HTML] HTML .

[HTML401] HTML 4.01 Specification . Dave Raggett, et al. 24 December 1999.

D.2 参考文献

[CSSOM] CSSOM . Anne van Kesteren.