|
Помимо визуального отображения документов, CSS поддерживает их
звуковое отображение, основанное на синтезации речи и звуковых
сигналах. Звуковые таблицы стилей могут быть как дополнением к визуальным,
так и их альтернативой.
Звуковое отображение документа происходит в трехмерном физическом
пространстве (звуковом окружении) и во времени (мы можем указать, какие
звуки должны предшествовать, следовать или звучать одновременно с другими
звуками). Кроме того, CSS позволяет авторам управлять качеством
синтезированной речи (типом голоса, частотой, модуляцией и
т. п.).
Синтаксис: volume: <число> | <процент> | silent | x-soft | soft | medium | loud |
x-loud | inherit
Начально: medium
Применимо: ко всем элементам
Наследуемо: да
Проценты: относительно наследуемого значения
Устройства: звуковыеПоддержка: Не поддерживается
Не поддерживается
Свойство volume задает громкость звука
(точнее, размер медианы звуковой волны). Оно задается одним из следующих
способов: <число>
Задает громкость звука числом в диапазоне от 0 до 100. При этом 0 соответствует
минимально возможной громкости, а 100 — максимально приемлемой громкости.
<процент>
Вычисляется относительно наследуемого значения, а затем обрезается по диапазону
от 0 до 100.
silent
Отключить звук. Это не то же самое, что громкость 0!
x-soft
То же, что громкость 0.
soft
То же, что громкость 25.
medium
То же, что громкость 50.
loud
То же, что громкость 75.
x-loud
То же, что громкость 100.
Фактическая громкость звука определяется обозревателем. Пример:
следующее правило задает негромкое звучание всего документа:
CSS позволяет задать размеры пауз перед произнесением элемента и после
него. Они имеют тип <размер-паузы>, который определяется следующим
образом: <размер-паузы> = <время> | <процент>
<время>
Задает абсолютный размер паузы в секундах или миллисекундах.
<процент>
Основан на величине, обратной значению свойства speech-rate. Если, например,
это значение равно 120 слов в минуту (т. е. одно слово занимает 500 мс), то
пауза в 20% равна 20% * 500 мс = 100 мс.
Для того, чтобы таблица стилей была устойчива к изменению скорости
речи, рекомендуется задавать размеры пауз в процентах.
Синтаксис: pause-before: <размер-паузы> | inherit
Начально: зависит от обозревателя
Применимо: ко всем элементам
Наследуемо: нет
Проценты: см. выше
Устройства: звуковые Поддержка: Не поддерживается
Не поддерживается
Свойство pause-before задает паузу перед
произнесением элемента. Пауза вставляется между содержимым элемента и
любым содержимым свойства cue-before.
Пример:
H1 { pause-before: 20ms }
Синтаксис: pause-after: <размер-паузы> | inherit
Начально: зависит от обозревателя
Применимо: ко всем элементам
Наследуемо: нет
Проценты: см. выше
Устройства: звуковые Поддержка: Не поддерживается
Не поддерживается
Свойство pause-after задает паузу после
произнесения элемента. Пауза вставляется между содержимым элемента и
любым содержимым свойства cue-after.
Пример:
Синтаксис: pause: <размер-паузы>{1,2} | inherit
Начально: не определено для сокращений
Применимо: ко всем элементам
Наследуемо: нет
Проценты: см. выше
Устройства: звуковыеПоддержка: Не поддерживается
Не поддерживается
Свойство pause является сокращением для свойств pause-before
и pause-after.
Если указаны два значения, то первое из них задает паузу перед
произнесением элемента, а второе — паузу после его произнесения. Если
указано только одно значение, то оно задает значение обеих пауз.
Примеры:
H1 { pause: 20ms } /* pause-before: 20ms; pause-after: 20ms */
H1 { pause: 30ms 40ms } /* pause-before: 30ms; pause-after: 40ms */
CSS позволяет выводить звуковые сигналы перед произнесением
элемента и после него. Они имеют тип <звуковой-сигнал>, который
определяется следующим образом: <звуковой-сигнал> = <uri> | none
<uri>
Задает URI ресурса, содержащего звуковой файл. Если ресурс не является
аудиофайлом, то он должен игнорироваться.
none
Не выводить звукового сигнала.
Синтаксис: cue-before: <звуковой-сигнал> | inherit
Начально: none
Применимо: ко всем элементам
Наследуемо: нет
Проценты: не используются
Устройства: звуковые Поддержка: Не поддерживается
Не поддерживается
Свойство cue-before задает звуковой сигнал перед
произнесением элемента. Пример:
H1 { cue-before: url("bell.wav") }
Синтаксис: cue-after: <звуковой-сигнал> | inherit
Начально: none
Применимо: ко всем элементам
Наследуемо: нет
Проценты: не используются
Устройства: звуковые Поддержка: Не поддерживается
Не поддерживается
Свойство cue-after задает звуковой сигнал после
произнесения элемента. Пример:
H1 { cue-after: url("dong.aiff") }
Синтаксис: cue: <звуковой-сигнал>{1,2} | inherit
Начально: не определено для сокращений
Применимо: ко всем элементам
Наследуемо: нет
Проценты: не используются
Устройства: звуковыеПоддержка: Не поддерживается
Не поддерживается
Свойство cue является сокращением для свойств cue-before
и cue-after.
Если указаны два значения, то первое из них задает сигнал перед
произнесением элемента, а второе — сигнал после его произнесения.
Если указано только одно значение, то оно задает значение обоих звуковых
сигналов. Например, следующие два правила эквивалентны:
H1 { cue: url(pop.au) }
H1 { cue-before: url(pop.au); cue-after: url(pop.au) }
Синтаксис: play-during: <uri> mix? repeat? | auto | none | inherit
Начально: auto
Применимо: ко всем элементам
Наследуемо: нет
Проценты: не используются
Устройства: звуковые Поддержка: Не поддерживается
Не поддерживается
Свойство play-during задает фоновый звук,
который должен звучать во время произнесения содержимого элемента. Оно
задается одним из следующих способов: <uri>
Задает URI ресурса, содержащего звуковой файл. Если ресурс не является
аудиофайлом, то он должен игнорироваться.
mix
Если задано это ключевое слово, то фоновый звук элемента должен смешиваться с
фоновым звуком его родителя. Если его нет, то фоновый звук элемента заменяет
фоновый звук его родителя.
repeat
Если задано это ключевое слово, то фоновый звук элемента повторяется до тех пор, пока
не закончится произнесение элемента. В противном случае фоновый звук звучит один раз.
auto
Продолжает звучать фоновый звук родительского элемента.
none
На время произнесения данного элемента фоновый звук отключается.
Примеры:
P.sad { play-during: url("violin.wav") repeat }
SPAN.quite { play-during: none }
Пространственное звучание обеспечивает естественный способ нескольких
голосов из разных точек пространства, как в реальной жизни.
Воспроизведение такого звучания обеспечивается различными аудиосистемами:
от обычных стереонаушников до домашних театров. Для управления такими
эффектами CSS позволяет задавать два угла поворота звука: по горизонтали
(azimuth)
и по вертикали (elevation).
Синтаксис: azimuth: <угол> | [[left-side | far-left | left | center-left | center |
center-right | right | far-right | right-side] || behind] |
leftwards | rightwards | inherit
Начально: center
Применимо: ко всем элементам
Наследуемо: да
Проценты: не используются
Устройства: звуковыеПоддержка: Не поддерживается
Не поддерживается
Свойство azimuth задает горизонтальный угол
звучания. Оно задается одним из следующих способов: <угол>
Задает угол в диапазоне от -360deg до 360deg. При этом 0deg соответствует
звучанию из центра, 90deg — повороту направо, 180deg — повороту назад, а 270deg —
повороту налево.
left-side
То же, что 270deg. Вместе с behind, 270deg.
far-left
То же, что 300deg. Вместе с behind, 240deg.
left
То же, что 320deg. Вместе с behind, 220deg.
center-left
То же, что 340deg. Вместе с behind, 200deg.
center
То же, что 0deg. Вместе с behind, 180deg.
center-right
То же, что 20deg. Вместе с behind, 160deg.
right
То же, что 40deg. Вместе с behind, 140deg.
far-right
То же, что 60deg. Вместе с behind, 120deg.
right-side
То же, что 90deg. Вместе с behind, 90deg.
leftwards
Поворот против часовой стрелки на 20deg (т. е. вычитание 20deg).
rightwards
Поворот по часовой стрелке на 20deg (т. е. добавление 20deg).
Примеры:
H1 { azimuth: 30deg }
TD.a { azimuth: far-right } /* 60deg */
#id12 { azimuth: behind far-right } /* 120deg */
P.comment { azimuth: behind } /* 180deg */
Синтаксис: elevation: <угол> | below | level | above | higher | lower | inherit
Начально: level
Применимо: ко всем элементам
Наследуемо: да
Проценты: не используются
Устройства: звуковые Поддержка: Не поддерживается
Не поддерживается
Свойство elevation задает вертикальный угол
звучания. Оно задается одним из следующих способов: <угол>
Задает угол в диапазоне от -90deg до 90deg. При этом 0deg соответствует
звучанию на уровне слушателя, 90deg — звучанию прямо над его головой, а
-90deg — звучанию прямо у него под ногами.
below
То же, что -90deg.
level
То же, что 0deg.
above
То же, что 90deg.
higher
Увеличивает текущий угол на 10deg.
lower
Уменьшает текущий угол на 10deg.
Примеры:
H1 { elevation: above }
TR.a { elevation: 60deg }
TR.b { elevation: 30deg }
TR.c { elevation: level }
Синтаксис: speech-rate: <число> | x-slow | slow | medium | fast | x-fast |
faster | slower | inherit
Начально: medium
Применимо: ко всем элементам
Наследуемо: да
Проценты: не используются
Устройства: звуковыеПоддержка: Не поддерживается
Не поддерживается
Свойство speech-rate задает скорость речи.
Оно задается одним из следующих способов: <число>
Явно задает количество слов, произносимых в минуту.
x-slow
80 слов в минуту.
slow
120 слов в минуту.
medium
180 - 200 слов в минуту.
fast
300 слов в минуту.
x-fast
500 слов в минуту.
faster
Увеличивает текущую скорость речи на 40 слов в минуту.
slower
Уменьшает текущую скорость речи на 40 слов в минуту.
Пример:
Синтаксис: voice-family: [[<имя-голоса> | <родовое-имя>],]*
[<имя-голоса> | <родовое-имя>] | inherit
Начально: зависит от обозревателя
Применимо: ко всем элементам
Наследуемо: да
Проценты: не используются
Устройства: звуковыеПоддержка: Не поддерживается
Не поддерживается
Свойство voice-family задает список имен
голосов для произнесения содержимого элемента. Этот список состоит из
имен голосов, разделенных запятыми. Имена располагаются в порядке
предпочтения. Например, следующее свойство
voice-family: romeo, male;
следует понимать так: "использовать голос romeo; если
его нет, то использовать родовой голос male". Такой список необходим,
поскольку мы заранее не знаем, какие именно голоса поддерживаются
синтезаторами речи наших пользователей.
Имя голоса может быть задано двумя способами: <имя-голоса>
Задает название конкретного голоса. Если это название содержит пробелы, то оно
должно быть заключено в кавычки или апострофы.
<родовое-имя>
Одно из следующих предопределенных имен голосов: male (мужской), female (женский)
и child (детский).
Для достижения наибольшей совместимости рекомендуется задавать родовое
имя последним в списке. В этом случае, если обозреватель не найдет на
компьютере-клиенте заданных голосов, он использует свой родовой голос с
заданным именем.
Синтаксис: pitch: <частота> | x-low | low | medium | high | x-high | inherit
Начально: medium
Применимо: ко всем элементам
Наследуемо: да
Проценты: не используются
Устройства: звуковые Поддержка: Не поддерживается
Не поддерживается
Свойство pitch задает среднюю частоту звука.
Отметим, что средняя частота звука зависит от типа голоса. Например,
средняя частота мужских голосов 120 Гц, а женских — 210 Гц. Частота
задается одним из следующих способов: <частота>
Явно задает частоту звука в герцах.
x-low, low, medium, high, x-high
Указывают относительную частоту звука в порядке ее увеличения. Обозреватель
должен подобрать соответствующую частоту в зависимости от типа голоса.
Пример:
Синтаксис: pitch-range: <число> | inherit
Начально: 50
Применимо: ко всем элементам
Наследуемо: да
Проценты: не используются
Устройства: звуковые Поддержка: Не поддерживается
Не поддерживается
Свойство pitch-range задает вариацию средней
частоты звука. Его значением является число в диапазоне от 0 до 100.
При этом значение 0 соответствует абсолютно монотонному голосу, значение
50 — обычному голосу, а значения больше 50 создают анимированные
голоса. Пример:
Синтаксис: stress: <число> | inherit
Начально: 50
Применимо: ко всем элементам
Наследуемо: да
Проценты: не используются
Устройства: звуковые Поддержка: Не поддерживается
Не поддерживается
Свойство stress задает высоту пиков в интонации
голоса. Его смысл существенно зависит от языка, на котором
произносится текст документа. В нетоновых языках, таких, как русский или
английский, оно позволяет указать, какова вариация частоты звука в тех
речевых фрагментах, которые находятся под ударением.
Значением этого свойства является число в диапазоне от 0 до 100, причем
значение 50 должно соответствовать обычному способу интонирования ударений
для данного языка. Пример:
P.stressed { stress: 70 }
Синтаксис: richness: <число> | inherit
Начально: 50
Применимо: ко всем элементам
Наследуемо: да
Проценты: не используются
Устройства: звуковые Поддержка: Не поддерживается
Не поддерживается
Свойство richness задает тембр голоса. Его
значением является число в диапазоне от 0 до 100. Чем больше это значение,
тем богаче тембр голоса, тем лучше он наполняет помещение. Пример:
Синтаксис: speak: none | normal | spell-out | inherit
Начально: normal
Применимо: ко всем элементам
Наследуемо: да
Проценты: не используются
Устройства: звуковые Поддержка: Не поддерживается
Не поддерживается
Свойство speak задает способ произношения.
Оно может принимать следующие значения:
| none |
Элемент не произносится. Однако, его потомки могут
переопределить значение этого свойства и тогда будут
произноситься. |
| normal |
Обычное произношение в соответствии с нормами языка. |
| spell-out |
Произношение по буквам. Полезно для аббревиатур и
акронимов. |
Примечание. Элемент со свойством volume:
silent не произносится, но время, требующееся ему для
произнесения, все равно ему выделяется, включая паузы перед ним и после
него. Элемент с свойством speak: none не
произносится, и время на его произнесение не выделяется.
Пример. Следующее правило задает произношение аббревиатур по
буквам:
ABBR { speak: spell-out }
Синтаксис: speak-punctuation: code | none | inherit
Начально: none
Применимо: ко всем элементам
Наследуемо: да
Проценты: не используются
Устройства: звуковые Поддержка: Не поддерживается
Не поддерживается
Свойство speak-punctuation задает способ
произношения знаков пунктуации (запятых, двоеточий и т. п.). По
умолчанию, его значение равно none, т. е. названия знаков
пунктуации не произносятся, а их наличие выделяется паузами. Если же
значение этого свойства code, то названия знаков пунктуации
произносятся в процессе синтезации речи. Пример:
P { speak-punctuation: code }
Синтаксис: speak-numeral: digit | continuous | inherit
Начально: continuous
Применимо: ко всем элементам
Наследуемо: да
Проценты: не используются
Устройства: звуковые Поддержка: Не поддерживается
Не поддерживается
Свойство speak-numeral задает способ произношения
числительных. По умолчанию, его значение равно continuous,
т. е. число "123" произносится "Сто двадцать три". Если же значение
этого свойства digit, то это число произносится по цифрам,
т. е. "Один два три". Пример:
TD { speak-numeral: digit }
Описание этого свойства приведено в разделе,
посвященном таблицам.
|