Section 7 : 表組の構造記述(1)

 表組は,三重の入れ子を用いて 1 次元のテキストで 2 次元を表現する。しかし,このように表現された 2 次元が原理的に 1 次元でしか出力され得ない,たとえばスピーチデバイスなどでは表組の表現は困難になる。表組の構造を明確に記述することで,これらの問題を緩和していく。

SCOPE 属性

 <TD><TH> に指定されうる SCOPE 属性は,そのセルがどちら方向についての見出しセルとして振る舞うのかを指定する。

SCOPE 属性
属性 解説
SCOPE キーワード そのセルが見出しとしての情報を提供するセル群がどの方向にあるかを指定する。

キーワードとしてとりうるのは次の 4 つである。

row
現在のセルが,その行の残りに対しての見出し情報を与えている。
col
現在のセルが,その列の下方にある残りのセルに対しての見出し情報を与えている。
rowgroup
現在のセルが,そのセルを含む行グループの残りに対して見出し情報を与えている。
colgroup
現在のセルが,そのセルを含む列グループの残りに対して見出し情報を与えている。

 Try next HTML の Section 9 の“名物駅弁”の表について,SCOPE 属性を指定して見出しのスコープを記述しよう。

<TABLE BORDER>
  <CAPTION>全国の名物駅弁</CAPTION>
  <TR>
    <TH SCOPE="col">駅弁</TH><TH SCOPE="col">販売駅</TH><TH SCOPE="col">路線</TH>
    <TH SCOPE="col">特徴</TH>
  </TR>
  <TR>
    <TH SCOPE="row">峠の釜めし</TH><TD>横川</TD><TD>信越本線</TD>
    <TD>益子焼の容器に山菜などがどっさり。</TD>
  </TR>
  <TR>
    <TH SCOPE="row">ますのすし</TH><TD>富山</TD><TD>北陸本線</TD>
    <TD>円形の器いっぱいに敷きつめらた「ます」が好評。</TD>
  </TR>
  <TR>
    <TH SCOPE="row">柿の葉寿司</TH><TD>和歌山</TD><TD>紀勢本線</TD>
    <TD>ひとつひとつが柿の葉っぱにくるまれている。</TD>
  </TR>
  <TR>
    <TH SCOPE="row">あなごめし</TH><TD>高松</TD><TD>予讃線</TD>
    <TD>瀬戸内の絶品のあなごが楽しめる。</TD>
  </TR>
</TABLE>

SCOPE 属性の有効範囲。
図 7.1 [D]

 “駅弁”“販売駅”“路線”“特徴”のセルは,それぞれ下方のセルに対する見出しとなっているので,SCOPE="col",“峠の釜めし”“ますのすし”“柿の葉寿司”“あなごめし”のセルはそれぞれ右方(DIR="ltr"Section 5 参照)として同じ列のそれ以降)のセルに対する見出しなので,SCOPE="row" である。

 スピーチデバイスは,このような表に対して,あるセルに対する見出しセルを必要に応じて読み上げることで,構造を確認しながら聞くことを提供する。たとえば,次のように読まれるかもしれない。

駅弁:ますのすし。販売駅:富山。路線:北陸本線。特徴:円形の器いっぱいに敷きつめらた「ます」が好評。

これが,ただセルの中身をずらずら読み上げられたものだったら,とりわけ大きな表では,どうであろうか。

 ちなみに,SCOPE 属性は <TD> にも指定できる。このときは,セルの要素が <TD> であっても,“見出しのセル”とみなして処理されるだろう。

 このように,見出しとなるセルを読み上げることを考えたとき,その内容が長かったら,それはそれで冗長になってしまう。そこで,見出しとなるセルの内容の“省略形”を ABBR 属性で指定する。

ABBR 属性
属性 解説
ABBR 文字列 そのセルの内容の省略形。

 スピーチデバイスで繰り返し出力される場合は,セルの内容の代わりに ABBR 属性の値が読み上げられるだろう。たとえば,先ほどの“名物駅弁”の表で“販売駅”のセルの部分を

<TH SCOPE="col" ABBR="駅">販売駅</TH>

と書き変えると,スピーチデバイスが見出しを参照して“販売駅”と出力するところは省略形の“駅”となり,短くまとめることができる(この程度の省略ではありがたみはないかもしれないが)。すなわち,

駅弁:ますのすし。駅:富山。路線:北陸本線。特徴:円形の器いっぱいに敷きつめらた「ます」が好評。

という出力が期待される。

 スピーチデバイスにおいて,表組を読み上げる際のストラテジーは,表を行,列の二重の箇条書きと見なすということになろう。SCOPE 属性で構造が表現できるのは,比較的素直に箇条書きとして見なせるケースである。