Спецификация HTML 4.01 + Спецификация CSS2

         

Звуковое представление документа, обычно используемое


Звуковое представление документа, обычно используемое людьми с проблемами зрения, сочетает речевой синтез и "звуковые иконки". Часто такое звуковое представление происходит при конвертации документа в обычный текст и его перенаправлении в устройство чтения с экрана -- программу или физическое устройство, которое просто считывает все символы на экране. Результатом этого является менее эффективное представление, чем могло бы быть, если бы сохранялась структура документа. Свойства таблиц стилей для звукового представления могут использоваться совместно с визуальными свойствами (смешанный носитель) или как звуковая альтернатива визуальному представлению.
Помимо очевидного преимущества - повышения доступности, есть и улучшение использования в других условиях прослушивания информации: использовании в автомобиле, индустриальных и медицинских системах документации (intranet), домашние развлечения и помощь пользователям, обучающимся чтению или имеющим проблемы с чтением.
При использовании звуковых свойств, канва состоит из трёхмерного физического пространства (звуковой среды) и временнoго пространства (можно специфицировать звуки до, во время и после других звуков). Свойства CSS позволяют также авторам изменять качество синтезируемой речи (тип голоса, частоту, инфлексию и т.п.).
Пример(ы):
H1, H2, H3, H4, H5, H6 { voice-family: paul; stress: 20; richness: 90; cue-before: url("ping.au") } P.heidi { azimuth: center-left } P.peter { azimuth: right } P.goat { volume: x-soft }
Здесь речевой синтезатор направляется в речевые заголовки в голосе (своего рода "аудио-шрифт"), называемом "paul", ровным звуком, но очень мягким голосом. Перед произнесением заголовков звуковой отрывок будет проигрываться из заданного URL. Параграфы класса "heidi" будут идти слева (если звуковая система способна воспроизводить пространственное аудио), а параграфы класса "peter" - справа. Параграфы класса "goat" будут звучать очень мягко.


Одним из важнейших свойств таблиц стилей является то, что они специфицируют представление документа на различных носителях информации: на экране, бумаге, в речевом синтезаторе, в брайль-устройстве и т.п.
Некоторые свойства CSS созданы для конкретных носителей (например, свойство 'cue-before' - для звуковых пользовательских агентов (ПА)). Иногда, однако, таблицы стилей для различных носителей могут использовать одно и то же свойство, но при этом требуют для него различных значений. Например, свойство 'font-size' используется и для экрана, и для носителя печати. Однако эти два носителя достаточно различны, чтобы требовать различных значений для общего свойства; документ обычно требует для экрана более крупный шрифт, чем для печати. Опыт показывает также, что шрифты sans-serif лучше читаются на экране, а шрифты с засечками (serif) лучше читаются на бумаге. Исходя из этих соображений, необходимо указывать, что таблица стилей - или раздел таблицы стилей - применяется к носителю определённого типа.


Если текст документа отображается визуально, символы (абстрактные информационные элементы) обязаны отображаться абстрактными глифами. Один или более символов могут изображаться одним или более абстрактными глифами в доступном контекстно-зависимом стиле.

Глиф
- это фактическое художественное представление абстрактного глифа в некоторых типографских стилях в векторной или растровой форме, которое может быть прорисовано на экране или на бумаге.

Шрифт - это набор глифов, соблюдающих один базовый мотив в соответствии с дизайном, размером, внешним видом и другими атрибутами, ассоциированными со всем набором, и отображение из символов в абстрактные глифы.
Визуальный пользовательский агент (ПА) обязан рассматривать следующие вопросы, прежде чем отображать символы:
  • Имеется ли, прямо или наследуемо, шрифт, специфицированный для данного символа?
  • Доступен ли этот шрифт для ПА?
  • Если это так, какой глиф(ы) отображает этот символ или последовательность символов?
  • Если нет, что нужно сделать? Подставлять ли другой шрифт? Может ли шрифт быть синтезирован? Может ли он быть получен из Web?

И в CSS1, и в CSS2 авторы специфицируют характеристики шрифта в серии свойств.
То, как ПА обрабатывают свойства, если нет совпадения шрифта на стороне клиента, было расширено в CS2 по сравнению с CSS1. В CSS1 принималось, что все шрифты представлены в клиентской системе и идентифицируются исключительно по имени. Альтернативные шрифты могли быть специфицированы через свойства, но в то же время у ПА не было способа предложить пользователю какие-либо другие шрифты (даже стилистически подобные шрифты, которые были доступны ПА), кроме общих шрифтов по умолчанию.
В CSS2 всё это изменилось, и теперь появилось больше свободы:
  • для авторов таблиц стилей: описывать необходимые шрифты;
  • для пользовательских агентов: в выборе шрифтов, если затребованный авторами шрифт непосредственно не доступен.

CSS2 улучшает подбор шрифтов на стороне клиента, делает возможным синтезирование шрифта и прогрессирующее отображение, а также загрузку шрифтов из Web. Это улучшает возможности 'WebFonts'.
В шрифтовой модели CSS2, как и в CSS1, каждый ПА имеет в своём распоряжении базу данных (БД) шрифтов.




Страничный носитель (например, бумага, плёнка, страницы , выводимые на экране компьютера и т.п.) отличается от непрерывного носителя тем, что содержимое документа разделяется на одну или более абстрактных страниц. Чтобы обрабатывать разрывы страниц, CSS2 расширяет модель визуального форматирования следующим образом:
  • Страничный бокс расширяет модель бокса, что позволяет авторам специфицировать размеры страницы, её полей и т.д.

  • Страничная модель расширяет модель визуального форматирования, чтобы рассчитывать разрывы страниц.

  • Страничная модель CSS 2 специфицирует, как форматируется документ в пределах прямоугольной области - страничного бокса - который имеет конечные ширину и высоту. Страничный бокс не обязательно соответствует реальному листу\странице, на котором документ в конце концов будет выведен (бумага, плёнка, экран и т.п.). Страничная модель CSS специфицирует форматирование в страничном боксе, но за перенос страничного бокса на лист отвечает пользовательский агент (ПА).

    Некоторые возможности переноса:
  • Перенос одного страничного бокса на один лист (например, односторонняя печать).
  • Перенос двух страничных боксов на две стороны одного листа (например, двухсторонняя печать).
  • Перенос N (маленького) страничного бокса на один лист (называется "n-up").
  • Перенос одного (большого) страничного бокса на N x M листов (называется "tiling").
  • Создание подписей. Подпись, это группа страниц, напечатанных на листе, которые после брошюрования и обрезки выглядят, как книга, и расположены в соответствующем порядке.
  • Печать одного документа в несколько потоков печати.
  • Вывод в файл.

  • Хотя CSS2 не специфицирует то, как ПА переносят страничные боксы на листы, не даётся также и определённого механизма для того, чтобы сообщить ПА о размерах и ориентации целевого листа.


    Таблицы представляют взаимоотношения между данными. Авторы специфицируют эти взаимоотношения на языке документа и их представление в CSS двумя способами - визуально и звуком.
    Авторы могут специфицировать визуальное форматирование таблицы как прямоугольной сетки ячеек. Ряды и столбцы ячеек можно организовать в группы рядов и столбцов. Ряды, столбцы, группы рядов, группы столбцов и ячейки могут иметь вокруг себя порисованные рамки (в CSS2 есть две модели рамок). Авторы могут выровнять данные в ячейках по вертикали и по горизонтали и выровнять данные во всех ячейках ряда или столбца.
    Авторы могут также специфицировать звуковое представление таблицы: то, как заголовки и данные будут звучать. На языке документа авторы могут помечать лэйблами ячейки и группы ячеек так, что при звуковом отображении заголовки ячеек будут произноситься перед данными ячеек. Фактически это "сериализует" таблицу: пользователи, прослушивающие таблицу, услышат последовательность заголовков и последующих данных.
    Пример(ы):
    Вот простая таблица из трёх рядов и трёх столбцов, написанная в HTML 4.0:
    <TABLE> <CAPTION>Это простая таблица 3x3</CAPTION> <TR id="row1"> <TH>Header 1 <TD>Cell 1 <TD>Cell 2 <TR id="row2"> <TH>Header 2 <TD>Cell 3 <TD>Cell 4 <TR id="row3"> <TH>Header 3 <TD>Cell 5 <TD>Cell 6 </TABLE>
    Этот код создаёт одну таблицу (элемент TABLE), три ряда (элементы TR), три заголовочных ячейки (элементы TH) и шесть ячеек данных (элементы TD). Обратите внимание, что три столбца в этом примере специфицированы неявно: в таблице столько столбцов, сколько затребовано заголовочными ячейками и ячейками данных.
    Следующее правило CSS центрирует текст по горизонтали в заголовочных ячейках и выводит данные шрифтом, имеющим вес bold:
    TH { text-align: center; font-weight: bold }
    Следующее правило выравнивает текст заголовочных ячеек по их базовой линии и центрирует текст по вертикали в каждой ячейке данных:
    TH { vertical-align: baseline } TD { vertical-align: middle }


    Эта и последующие главы описывают модель визуального форматирования: то как пользовательские агенты (ПА) обрабатывают дерево документа
    для визуального носителя.
    В модели визуального форматирования каждый элемент дерева документа генерирует ноль или более боксов в соответствии с моделью боксов. Структура этих боксов управляется:
    • размерами боксов и типом.
    • схемой позиционирования
      (нормальное позиционирование, всплывание и абсолютное).
    • взаимоотношениями между элементами в дереве документа.

    • внешней информацией (например, размером порта просмотра, внутренними размерами изображений и т.д.).

    Свойства, определённые в этой и следующих главах, применяются и к непрерывным носителям, и к страничным носителям. В то же время, значения свойств полей варьируются при использовании со страничным носителем (см. в страничной модели).
    Модель визуального форматирования не определяет все аспекты форматирования (например, она не специфицирует алгоритм расстояний между буквами). Поведение соответствующих ПА
    может отличаться в вопросах форматирования.

    Содержание раздела