このウェブサイトはご利用の端末での閲覧に対応していません。
This website does not support your device.

@counter-style”ルール~“speak-as”ディスクリプタCSS3で追加

記事Feb. 1st,2022
“@counter-style”ルールで定義するカウンター・スタイルで音声合成でリスト・マーカーをどのように読み上げるべきかを指定するディスクリプタ
この記事はCSS3に対応しています。
この記事はCSS3に対応しています。

概要

@ルール @counter-style”ルール
初期値 speak-as: auto;

speak-as”ディスクリプタはリスト・マーカーを音声ブラウザなどの合成音声で読み上げた時にどのように読み上げるべきかを指定します。

カウンター・スタイルは視覚的な意味を持って生成することができますが、合成音声やその他の非視覚的な方法で出力された場合にその意味を表現できなかったり、誤った意味になってしまうことがあります。“speak-as”ディスクリプタはそのような場合にリスト・マーカーをどのように読み上げるべきかを説明します。“speak-as”ディスクリプタの値は合成音声による読み上げの際に使用されるだけでなく、他の出力方法でも参考にされる場合があります。

説明
auto alphabeticの場合】“spell-out”と同じ
cyclicの場合】“bullets”と同じ
extendsの場合】拡張元のカウンター・スタイルで“speak-as: auto;”とした場合と同じ範囲
【上記以外の場合】“numbers”と同じ
bullets ユーザー・エージェントが順不同リストのアイテムを読み上げる時の既定の言い回しを使用します
numbers リスト・カウンターの値である数値をコンテント言語で読み上げます
words 通常通りカウンター表現を生成してそれをコンテント言語で読み上げます (カウンター表現が画像を含む場合は“numbers”として扱われます。)
spell-out 通常通りカウンター表現を生成してそれをコンテント言語で一文字ずつ読み上げます (ユーザー・エージェントが記号を読み上げる方法を知らない場合やカウンター表現が画像を含む場合は“numbers”として扱われます。)
<counter-style-name> 指定されたカウンター・スタイルリスト・カウンターの値を読み上げます (fallback”ディスクリプタの働きに似ていますが、<counter-style-name>”値で指定されたカウンター・スタイルは読み上げ時に使用されます。指定されたカウンター・スタイルが存在しない場合や複数の@counter-style”ルールの“speak-as”ディスクリプタがで互いをしていてループが生じる場合は“auto”として扱われます。)

使用例

ol { list-style-type: sample-counter;}

@counter-style sample-counter {
system: numeric;
symbols: "\1D7D8" "\1D7D9" "\1D7DA" "\1D7DB" "\1D7DC" "\1D7DD" "\1D7DE" "\1D7DF" "\1D7E0" "\1D7E1";
speak-as: auto;
}
  1. バナナ
  2. マンゴスチン
  3. アボカド
  4. ドリアン
  5. バンレイシ
  6. アテモヤ
ol { list-style-type: sample-counter;}

@counter-style sample-counter {
system: cyclic;
symbols: "\2615";
speak-as: bullets;
}
  1. バナナ
  2. マンゴスチン
  3. アボカド
  4. ドリアン
  5. バンレイシ
  6. アテモヤ
ol { list-style-type: sample-counter;}

@counter-style sample-counter {
system: additive;
additive-symbols: 1000 \1D544, 900 \2102\1D544, 500 \1D53B, 400 \2102\1D53B, 100 \2102, 90 \1D54F\2102, 50 \1D543, 40 \1D54F\1D543, 10 \1D54F, 9 \1D540\1D54F, 5 \1D54D, 4 \1D540\1D54D, 1 \1D540;
range: 1 3999;
speak-as: numbers;
}
  1. バナナ
  2. マンゴスチン
  3. アボカド
  4. ドリアン
  5. バンレイシ
  6. アテモヤ
ol { list-style-type: sample-counter;}

@counter-style sample-counter {
system: additive;
additive-symbols: 90 "ninty", 80 "eighty", 70 "seventy", 60 "sixty", 50 "fifty", 40 "fourty", 30 "thirty", 20 "twenty", 19 "ninteen", 18 "eighteen", 17 "seventeen", 16 "sixteen", 15 "fifteen", 14 "fourteen", 13 "thirteen", 12 "twelve", 11 "eleven", 10 "ten", 9 "nine", 8 "eight", 7 "seven", 6 "six", 5 "five", 4 "four", 3 "three", 2 "two", 1 "one";
range: 1 99;
speak-as: words;
}
  1. バナナ
  2. マンゴスチン
  3. アボカド
  4. ドリアン
  5. バンレイシ
  6. アテモヤ
ol { list-style-type: sample-counter;}

@counter-style sample-counter {
system: additive;
additive-symbols: 90 "ninty", 80 "eighty", 70 "seventy", 60 "sixty", 50 "fifty", 40 "fourty", 30 "thirty", 20 "twenty", 19 "ninteen", 18 "eighteen", 17 "seventeen", 16 "sixteen", 15 "fifteen", 14 "fourteen", 13 "thirteen", 12 "twelve", 11 "eleven", 10 "ten", 9 "nine", 8 "eight", 7 "seven", 6 "six", 5 "five", 4 "four", 3 "three", 2 "two", 1 "one";
range: 1 99;
speak-as: spell-out;
}
  1. バナナ
  2. マンゴスチン
  3. アボカド
  4. ドリアン
  5. バンレイシ
  6. アテモヤ
ol { list-style-type: sample-counter;}

@counter-style sample-counter {
system: cyclic;
symbols: "\1F400" "\1F402" "\1F405" "\1F407" "\1F409" "\1F40D" "\1F40E" "\1F40F" "\1F412" "\1F413" "\1F415" "\1F417";
speak-as: sample-counter-for-speech;
}

@counter-style sample-counter-for-speech {
system: cyclic;
symbols: "ね" "うし" "とら" "う" "たつ" "み" "うま" "ひつじ" "さる" "とり" "いぬ" "い";
speak-as: words;
}
  1. バナナ
  2. マンゴスチン
  3. アボカド
  4. ドリアン
  5. バンレイシ
  6. アテモヤ

仕様書

定義されている仕様書
Level 1 Level 2 Level 3
勧告(REC) 勧告(REC) 勧告候補(CR)
speak-as
定義なし

定義なし

定義あり
Level 1 Level 2 Level 3
勧告(REC) 勧告(REC) 勧告候補(CR)
auto
定義なし

定義なし

定義あり
bullets
定義なし

定義なし

定義あり
numbers
定義なし

定義なし

定義あり
words
定義なし

定義なし

定義あり
spell-out
定義なし

定義なし

定義あり
<counter-style-name>
定義なし

定義なし

定義あり
一番上へ
トップにもどる
シェアする
シェアする
Facebookでシェアする
ツイート
Google+でシェア
Pocket
はてなブックマーク