Глава 2.13. Звуковые таблицы стилей2.13.1. Общее описаниеПомимо визуального отображения документов, CSS поддерживает их звуковое отображение, основанное на синтезации речи и звуковых сигналах. Звуковые таблицы стилей могут быть как дополнением к визуальным, так и их альтернативой. Звуковое отображение документа происходит в трехмерном физическом пространстве (звуковом окружении) и во времени (мы можем указать, какие звуки должны предшествовать, следовать или звучать одновременно с другими звуками). Кроме того, CSS позволяет авторам управлять качеством синтезированной речи (типом голоса, частотой, модуляцией и т. п.). 2.13.2. Громкость: свойство volumeСинтаксис: 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. Фактическая громкость звука определяется обозревателем. Пример: следующее правило задает негромкое звучание всего документа: BODY { volume: soft } 2.13.3. Задание паузCSS позволяет задать размеры пауз перед произнесением элемента и после него. Они имеют тип <размер-паузы>, который определяется следующим образом: <размер-паузы> = <время> | <процент> <время> Задает абсолютный размер паузы в секундах или миллисекундах. <процент> Основан на величине, обратной значению свойства speech-rate. Если, например, это значение равно 120 слов в минуту (т. е. одно слово занимает 500 мс), то пауза в 20% равна 20% * 500 мс = 100 мс. Для того, чтобы таблица стилей была устойчива к изменению скорости речи, рекомендуется задавать размеры пауз в процентах. 2.13.3.1. Пауза перед элементом: свойство pause-beforeСинтаксис: pause-before: <размер-паузы> | inherit Начально: зависит от обозревателя Применимо: ко всем элементам Наследуемо: нет Проценты: см. выше Устройства: звуковые Поддержка: Не поддерживается Не поддерживается Свойство pause-before задает паузу перед произнесением элемента. Пауза вставляется между содержимым элемента и любым содержимым свойства cue-before. Пример: H1 { pause-before: 20ms } 2.13.3.2. Пауза после элемента: свойство pause-afterСинтаксис: pause-after: <размер-паузы> | inherit Начально: зависит от обозревателя Применимо: ко всем элементам Наследуемо: нет Проценты: см. выше Устройства: звуковые Поддержка: Не поддерживается Не поддерживается Свойство pause-after задает паузу после произнесения элемента. Пауза вставляется между содержимым элемента и любым содержимым свойства cue-after. Пример: H1 { pause-after: 20ms } 2.13.3.3. Паузы до и после: свойство pauseСинтаксис: 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 */ 2.13.4. Задание звуковых сигналовCSS позволяет выводить звуковые сигналы перед произнесением элемента и после него. Они имеют тип <звуковой-сигнал>, который определяется следующим образом: <звуковой-сигнал> = <uri> | none <uri> Задает URI ресурса, содержащего звуковой файл. Если ресурс не является аудиофайлом, то он должен игнорироваться. none Не выводить звукового сигнала. 2.13.4.1. Сигнал перед элементом: свойство cue-beforeСинтаксис: cue-before: <звуковой-сигнал> | inherit Начально: none Применимо: ко всем элементам Наследуемо: нет Проценты: не используются Устройства: звуковые Поддержка: Не поддерживается Не поддерживается Свойство cue-before задает звуковой сигнал перед произнесением элемента. Пример: H1 { cue-before: url("bell.wav") } 2.13.4.2. Сигнал после элемента: свойство cue-afterСинтаксис: cue-after: <звуковой-сигнал> | inherit Начально: none Применимо: ко всем элементам Наследуемо: нет Проценты: не используются Устройства: звуковые Поддержка: Не поддерживается Не поддерживается Свойство cue-after задает звуковой сигнал после произнесения элемента. Пример: H1 { cue-after: url("dong.aiff") } 2.13.4.3. Сигналы до и после: свойство cueСинтаксис: 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) } 2.13.5. Фоновый звук: свойство play-duringСинтаксис: 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 } 2.13.6. Пространственные характеристики звукаПространственное звучание обеспечивает естественный способ нескольких голосов из разных точек пространства, как в реальной жизни. Воспроизведение такого звучания обеспечивается различными аудиосистемами: от обычных стереонаушников до домашних театров. Для управления такими эффектами CSS позволяет задавать два угла поворота звука: по горизонтали (azimuth) и по вертикали (elevation). 2.13.6.1. Горизонтальный угол звука: свойство azimuthСинтаксис: 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 */ 2.13.6.2. Вертикальный угол звука: свойство elevationСинтаксис: 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 } 2.13.7. Характеристики речи2.13.7.1. Скорость речи: свойство speech-rateСинтаксис: 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 слов в минуту. Пример: H1 { speech-rate: slow} 2.13.7.2. Голос: свойство voice-familyСинтаксис: voice-family: [[<имя-голоса> | <родовое-имя>],]* [<имя-голоса> | <родовое-имя>] | inherit Начально: зависит от обозревателя Применимо: ко всем элементам Наследуемо: да Проценты: не используются Устройства: звуковые Поддержка: Не поддерживается Не поддерживается Свойство voice-family задает список имен голосов для произнесения содержимого элемента. Этот список состоит из имен голосов, разделенных запятыми. Имена располагаются в порядке предпочтения. Например, следующее свойство voice-family: romeo, male; следует понимать так: "использовать голос romeo; если его нет, то использовать родовой голос male". Такой список необходим, поскольку мы заранее не знаем, какие именно голоса поддерживаются синтезаторами речи наших пользователей. Имя голоса может быть задано двумя способами: <имя-голоса> Задает название конкретного голоса. Если это название содержит пробелы, то оно должно быть заключено в кавычки или апострофы. <родовое-имя> Одно из следующих предопределенных имен голосов: male (мужской), female (женский) и child (детский). Для достижения наибольшей совместимости рекомендуется задавать родовое имя последним в списке. В этом случае, если обозреватель не найдет на компьютере-клиенте заданных голосов, он использует свой родовой голос с заданным именем. 2.13.7.3. Частота звука: свойство pitchСинтаксис: pitch: <частота> | x-low | low | medium | high | x-high | inherit Начально: medium Применимо: ко всем элементам Наследуемо: да Проценты: не используются Устройства: звуковые Поддержка: Не поддерживается Не поддерживается Свойство pitch задает среднюю частоту звука. Отметим, что средняя частота звука зависит от типа голоса. Например, средняя частота мужских голосов 120 Гц, а женских 210 Гц. Частота задается одним из следующих способов: <частота> Явно задает частоту звука в герцах. x-low, low, medium, high, x-high Указывают относительную частоту звука в порядке ее увеличения. Обозреватель должен подобрать соответствующую частоту в зависимости от типа голоса. Пример: H1 { pitch: high } 2.13.7.4. Вариация частоты: свойство pitch-rangeСинтаксис: pitch-range: <число> | inherit Начально: 50 Применимо: ко всем элементам Наследуемо: да Проценты: не используются Устройства: звуковые Поддержка: Не поддерживается Не поддерживается Свойство pitch-range задает вариацию средней частоты звука. Его значением является число в диапазоне от 0 до 100. При этом значение 0 соответствует абсолютно монотонному голосу, значение 50 обычному голосу, а значения больше 50 создают анимированные голоса. Пример: P { pitch-range: 30 } 2.13.7.5. Ударение: свойство stressСинтаксис: stress: <число> | inherit Начально: 50 Применимо: ко всем элементам Наследуемо: да Проценты: не используются Устройства: звуковые Поддержка: Не поддерживается Не поддерживается Свойство stress задает высоту пиков в интонации голоса. Его смысл существенно зависит от языка, на котором произносится текст документа. В нетоновых языках, таких, как русский или английский, оно позволяет указать, какова вариация частоты звука в тех речевых фрагментах, которые находятся под ударением. Значением этого свойства является число в диапазоне от 0 до 100, причем значение 50 должно соответствовать обычному способу интонирования ударений для данного языка. Пример: P.stressed { stress: 70 } 2.13.7.6. Тембр: свойство richnessСинтаксис: richness: <число> | inherit Начально: 50 Применимо: ко всем элементам Наследуемо: да Проценты: не используются Устройства: звуковые Поддержка: Не поддерживается Не поддерживается Свойство richness задает тембр голоса. Его значением является число в диапазоне от 0 до 100. Чем больше это значение, тем богаче тембр голоса, тем лучше он наполняет помещение. Пример: H1 { richness: 75 } 2.13.8. Характеристики произношения2.13.8.1. Способ произношения: свойство speakСинтаксис: speak: none | normal | spell-out | inherit Начально: normal Применимо: ко всем элементам Наследуемо: да Проценты: не используются Устройства: звуковые Поддержка: Не поддерживается Не поддерживается Свойство speak задает способ произношения. Оно может принимать следующие значения:
Примечание. Элемент со свойством volume: silent не произносится, но время, требующееся ему для произнесения, все равно ему выделяется, включая паузы перед ним и после него. Элемент с свойством speak: none не произносится, и время на его произнесение не выделяется. Пример. Следующее правило задает произношение аббревиатур по буквам: ABBR { speak: spell-out } 2.13.8.2. Произношение пунктуации: свойство speak-punctuationСинтаксис: speak-punctuation: code | none | inherit Начально: none Применимо: ко всем элементам Наследуемо: да Проценты: не используются Устройства: звуковые Поддержка: Не поддерживается Не поддерживается Свойство speak-punctuation задает способ произношения знаков пунктуации (запятых, двоеточий и т. п.). По умолчанию, его значение равно none, т. е. названия знаков пунктуации не произносятся, а их наличие выделяется паузами. Если же значение этого свойства code, то названия знаков пунктуации произносятся в процессе синтезации речи. Пример: P { speak-punctuation: code } 2.13.8.3. Произношение числительных: свойство speak-numeralСинтаксис: speak-numeral: digit | continuous | inherit Начально: continuous Применимо: ко всем элементам Наследуемо: да Проценты: не используются Устройства: звуковые Поддержка: Не поддерживается Не поддерживается Свойство speak-numeral задает способ произношения числительных. По умолчанию, его значение равно continuous, т. е. число "123" произносится "Сто двадцать три". Если же значение этого свойства digit, то это число произносится по цифрам, т. е. "Один два три". Пример: TD { speak-numeral: digit } 2.13.8.4. Произношение заголовков таблиц: свойство speak-headerОписание этого свойства приведено в разделе, посвященном таблицам. | ||||||