section section h1, section article h1, section aside h1,

article section h1, article article h1, article aside h1,

aside section h1, aside article h1, aside aside h1 {

font-size: 1.6em;

}

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

<p>Aria</p>

Новые структурные элементы HTML5 будут очень полезны для технологии специальных возможностей. Вместо того чтобы создавать ссылки «пропустить навигацию», все, что нужно делать, – правильно использовать элемент nav. Это позволит пользователям программ для чтения с экрана пропустить навигацию, а нам не придется создавать для этого отдельную ссылку.

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

К счастью, в настоящий момент отличную поддержку имеет стандарт ARIA (доступные насыщенные интернет-приложения, Accessible Rich Internet Applications).

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

Самая основная единица ARIA – атрибут role. Вы можете добавить role="search" к вашей форме поиска, role="banner" к красивому заголовку вашего сайта и role="contentinfo" – к подвалу страницы. Полный список значений в спецификации ARIA можно посмотреть здесь: http://bkaprt.com/html5/10[15].

Вы можете использовать эти значения ролей в HTML 4.01, XHTML 1.0 и любом другом типе разметки, но тогда ваш документ не будет проходить валидацию – если только вы не создадите собственный доктайп, а это страшное занятие.

Но роли ARIA – часть спецификации HTML5, так что можно и использовать ARIA, и проходить валидацию.

Вы также можете использовать дополнительную семантику атрибута role для добавления стилей. Здесь вам поможет селектор по атрибутам. Такие селекторы позволят вам отличать заголовки и подвалы документов от заголовков и подвалов внутри содержимого разделов:

header[role="banner"] { }

footer[role="contentinfo"] { }

<p>Валидация</p>

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

Анри Сивонен (Henri Sivonen) разработал полнофункциональный валидатор HTML5. Он находится по адресу: http://validator.nu/.

Вам даже не нужно обновлять свои закладки, ведущие на валидатор W3C (http://validator.w3.org/). Этот валидатор тоже использует парсер Анри, как только находит доктайп HTML5.

<p>Тестирование функций</p>

Если вы хотите начать использовать продвинутые типы ввода HTML5, вам нужен способ тестирования поддержки браузеров, чтобы вы могли вставить в код альтернативные варианты на JavaScript.

Modernizr – очень полезная JavaScript-библиотека, которая определяет поддержку различных типов ввода, а также audio, video и canvas (http:// www.modernizr.com/).

Этот скрипт создает в JavaScript объект с названием Modernizr. Запрашивая свойства этого объекта, вы можете определить, поддерживает браузер тот или иной тип ввода или нет:

if (!Modernizr.inputtypes.color) {

// Запасное решение на JavaScript.

}

Modernizr также исполнит маленький шулерский трюк, который позволит вам применять стили к новым структурным элементам Internet Explorer, – так что если вы используете Modernizr, то не нужно использовать вместе с ним скрипт Реми.

<p>Выберите собственную стратегию</p>

Только вы решаете, как будете использовать HTML5 – осторожно или, наоборот, амбициозно.

По крайней мере что вы можете сделать без всяких проблем – это взять ваши текущие HTML– или XHTML-документы и изменить доктайп на:

Ну вот, вы только что сделали первый шаг в большой мир.

Теперь можете начать использовать роли ARIA – что вам, собственно, терять?

Если вы беспокоитесь по поводу новых структурных элементов, все равно можете начать привыкать к новой семантике, потренировавшись на именах классов:

Hello world!

По мере того как вы будете дальше продвигаться в мир HTML5, когда будете чувствовать себе более уверенно относительно новых элементов HTML5, можете заменить эти элементы div и имена классов соответствующими структурными элементами.

Перейти на страницу:

Все книги серии Актуальные книги для тех, кто создает сайты

Похожие книги