メディアタイプ

メディアタイプの概要

スタイルシートのもっとも重要な特徴のひとつは,異る複数の出力媒体――コンピュータ画面,ハンドヘルド機器のような小さな画面,印刷出力,音声出力,点字出力など――について構造化文書のプレゼンテーション(表現方法)を指定できる事にあります。

プロパティのなかには特定のメディアタイプ専用に設計されたものがあります; たとえば頁メディアに適用される'page-break-before'など。異るメディアタイプのスタイルシートが同じプロパティを共有することもありますが,それでも各々が異る値を必要とするのが普通です。

たとえば'font-family'プロパティは,画面および印刷メディアの双方に適用できます。しかし画面では一般にサンセリフ系が好まれるのに対し,一方の紙面ではむしろセリフ系フォントのほうが一般的です。これは紙面印刷のほうが圧倒的に画素密度が高いことに因ります。

これらの理由から,スタイルシート(またはその一部)が特定のメディアタイプ専用であることを明示する必要があります。また,出力対象を特定することにより,UAがサポートしていないメディアタイプのリソースを検索する無駄を避けられる,という点においても重要です。

メディアタイプを特定する

スタイルシートの対象メディアタイプを特定する方法は,大きく分けて二通りあります。

@media規則(The @media rule)

@media規則はひとつ以上のメディアタイプをコンマ(,)区切りで指定し,その後につづく中括弧に含まれる規則集合をその対象にします。この規則を利用する事により,一枚のスタイルシート中に複数のメディアタイプに対する規則を記述できます。(cf. @規則

@media screen {
  body { font-size: medium; }
}
@media print {
  body { font-size: 10pt;   }
}
@media screen, print {
  body { line-height: 1.4;  }
}

認識されるメディアタイプ

CSSメディアタイプに採用された名称は,関聯のあるプロパティが意味を成す対象デヴァイスを表しています。

CSS2適合では,あるメディアタイプへのサポートを称するUser Agentは,そのメディアタイプに適用される凡てのプロパティを実装しなければならない,とされています。しかしCSS2.1ではそうではありません。CSS2.1では下記リストで示されるメディアタイプの名称は規範的(normative)ですが,その説明については参考情報(infomative)に過ぎません。同様に,各プロパティ定義に示された対象メディアの欄も参考情報です。

以下に示すメディアタイプの名称が定義されています。なお,名称は大文字と小文字を区別しません。

all
すべてのデヴァイスにあてはまる。
screen
主に色を表現できる一般的なコンピュータの画面。
tv
テレヴィジョン型の機器。(一般的には低解像度,色つき,かつスクロールに制限のある画面。音声も使用可能。)
handheld
低性能なポータブル機器。(典型的な物には,小さな画面,モノクロ画面,周波帯域の制約を持つ機器など。)
tty
グリッドの矩形領域に納る固定ピッチ文字を使用する出力装置など。具体的にはテレタイプ,端末,あるいはディスプレイ性能の限られたポータブル機器などが想定されます。著者はこのメディアタイプにおいて画素単位pxを用いるべきではありません。
print
頁区切りの物質への印刷; もしくは画面上の印刷プレヴュー。(cf. CSS2勧告邦訳 13. 頁媒体
projection
映写機などの投影表現。CSS2.0では透明素材への印刷も含む。(cf. CSS2勧告邦訳 13. 頁媒体
braille
点字の触感がフィードバック(即時反応)される装置。(具体的なものでは点字ディスプレイが利用されている。)
embossed
頁区切りの点字プリンタ。(頁区切りの点字用紙などに,点訳されたデータを“型押し”の膨らみで出力する装置。)
speech (CSS2では aural だが非推奨)
合成音声を生成するためのソフトウェアやデヴァイス。(cf. CSS2勧告邦訳 第19章 音声スタイルシート

メディアタイプは,文書をレンダリングする際にUser Agentがひとつのメディアタイプしかサポートできないという意味では相互に排他的です。しかしながら,User Agentは異るカンヴァスに対しては異るメディアタイプを使用するかもしれません。たとえば,ある文書は一方のカンヴァスに対しては 'screen' モードで表示されたり,他方のカンヴァスに対しては 'print' モードで表示されるかもしれません。

多様式(multimodal)のメディアタイプは,単にひとつのメディアタイプに過ぎない点に注意してください。たとえば 'tv' メディアタイプは,単一のカンヴァスに対して視覚的および聴覚的に表現される多様式のメディアタイプです。

@mediaまたは@import規則に未知のメディアタイプを含む場合,それらが指定されていない時と同様に扱われます。

メディアグループ(Media groups)

各プロパティ定義には,メディア欄として,そのプロパティがどのメディアタイプに適用されるのか示してあります。しかし,各プロパティは一般に複数のメディアタイプに適用可能なので,一々のメディアタイプではなく,以下で述べるメディアグループを列記してあります。つまり,各プロパティはその定義に列記されたメディアグループについて,それらに内包しているすべてのメディアタイプに適用されることになります。

それぞれのメディアグループは,その特徴からいくつかの性質に分類されています:

以下ではメディアグループの特徴およびそれらに内包するメディアタイプについて述べます。

continuous(連続メディア)
paged(頁メディア)
visual(視覚メディア)
speech(合成音声メディア)
tactile(触覚メディア)
grid(グリッドメディア)
bitmap(ビットマップメディア)
interactive(対話的メディア)
static(静的メディア)
all(すべてのメディア)

下記の表は,メディアグループとメディアタイプの対応関係を示しています。

メディアグループとメディアタイプの対応関係
メディアタイプ メディアグループ
continuous / paged visual / audio /
speech / tactile
grid / bitmap interactive / static
braille continuous tactile grid both
embossed paged tactile grid both
(2.1: staticに改訂)
handheldboth visual
(audio, speechも含む)
both both
print paged visual bitmap static
projection paged visual bitmap static
(2.1: interactiveに改訂)
screen continuous visual
(audioも含む)
bitmap both
speech continuous speech 該当なしboth
tty continuous visual grid both
tv both visual, audio bitmap both