Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
184
Добавлен:
10.05.2015
Размер:
82.43 Кб
Скачать

Аббревиатуры

Элементы abbr и acronym используются для указания места, где используется аббревиатура, и предоставляют метод их раскрытия без ненужного прерывания потока документа.

Текст аббревиатуры заключается в элемент abbr, а полная версия помещается в атрибут title следующим образом:

<p>Styling is added to

<abbr title="Hypertext Markup Language">HTML</abbr> documents

using <abbr title="Cascading Style Sheets">CSS</abbr>.</p>

Акроним является разновидностью аббревиатуры, с разницей в том, что результат считается, и произносится, как если бы он был реальным словом. Примером является слово scuba, которое сформировано из фразы "self-contained underwater breathing apparatus" (автономный аппарат для дыхания под водой).

Хотя спецификация HTML 4.01 разрешает оба элемента abbr и acronym, существуют некоторые проблемы при попытке сделать здесь все правильно …

Internet Explorer (до версии 8) не распознает элемент abbr, но распознает acronym. К сожалению акронимы являются подмножеством аббревиатур и будет неправильно помечать что-нибудь типа "HTML" с помощью элемента acronym.

Также в черновом проекте HTML 5 элемент acronym был опущен в пользу стандартизации элемента abbr, так как любой акроним является также аббревиатурой.

Лучше всего избегать использования acronym и использовать везде в коде abbr. Если потребуется применить некоторое визуальное оформление для abbr, можно поместить в него элемент span и указывать его вместо abbr, чтобы все браузеры применяли визуальное оформление. Дополнительное описание будет дано в будущей лекции по "стилевому оформлению текста".

Определение экземпляров

Существует некоторая путаница с правильным использованием элемента dfn, который описан в спецификации HTML как "определение экземпляра вложенного термина". Это удивительно близко к идее элемента dl (термин определения), используемого в списках определений.

Различие состоит в том, что используемый в dfn термин не обязан быть частью списка терминов и описаний, и может использоваться как часть обычного потока текста, даже в прозе разговорного стиля. Рекомендуется использовать его, когда аббревиатура используется более одного раза.

Поэтому, например, если в тексте многократно встречается аббревиатура HTML, то использование всякий раз кода "<abbr title="HyperText Markup Language">HTML</abbr>", было бы избыточным, визуально отвлекающим и для пользователей считывателей экрана, возможно, утомительным, когда HTML раскрывался бы снова и снова, хотя они уже и слышали, что он означает.

Вместо этого можно вставить следующий код в том месте, где он впервые определяется для читателей:

<p><dfn><abbr>HTML</abbr></dfn> ("HyperText Markup Language") is

a language to describe the contents of web documents. [...]</p>

Затем в дальнейшем, когда используется аббревиатура HTML, ее можно пометить просто как "<abbr>HTML</abbr>". Агент пользователя может затем предоставить пользователю некоторый метод извлечения определяющего экземпляра этой аббревиатуры. К сожалению пока ни один агент пользователей в настоящее время этого не делает, включая считыватели экрана. Было бы лучше, поэтому, использовать атрибут title.

<p><dfn><abbr title="HyperText Markup Language">HTML</abbr></dfn>

("HyperText Markup Language") is a language to describe the contents of web documents. [...]</p>

К сожалению, мы теперь дублируем расширенное выражение для HTML, что может создавать проблемы для пользователей считывателей экрана. Однако исключение видимого расширения делает документ менее полезным для зрячих пользователей, которые составляют большую долю пользователей почти во всех случаях.

Я бы предложил считать это допустимым компромиссом, когда имеется только один или два объекта, требующих определения. Если вы этим специально озабочены, можно использовать вместо этого следующий код:

<p><abbr title="HyperText Markup Language">HTML</abbr>

(<dfn>HyperText Markup Language</dfn>) is a language to

describe the contents of web documents. [...]</p>

Однако агент пользователя должен тогда делать предположение, когда он видит только один элемент dfn, к чему он относится. В настоящее время ни один агент пользователя в действительности не делает ничего полезного с элементом dfn, поэтому это может оказаться приемлемым.

На страницах, которые требуют большого числа определений, может оказаться лучше создать раздел глоссария или страницу, где можно использовать более строгую разметку списка определений.

Это неудачное решение, когда спецификация была создана без четких рекомендаций о том, как предполагается использовать элемент, и, вероятно, не основывалась на каких-либо реальных применениях этого элемента — иначе был бы метод соединения термина с его полным описанием или определением. Спецификация HTML 5 содержит значительно больше деталей об использовании dfn, но она находится все еще в стадии чернового проекта и пока не подходит для приложения в Web.