На самом высоком уровне 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"] { }
Валидация
Если использовать его с умом, валидатор – очень мощный инструмент для веб-разработчика. Если нет, то валидатор дает ботаникам и занудам повод показывать пальцем на чужую разметку и смеяться над ней.
Анри Сивонен (Henri Sivonen) разработал полнофункциональный валидатор HTML5. Он находится по адресу: http://validator.nu/.
Вам даже не нужно обновлять свои закладки, ведущие на валидатор W3C . Этот валидатор тоже использует парсер Анри, как только находит доктайп HTML5.
Тестирование функций
Если вы хотите начать использовать продвинутые типы ввода HTML5, вам нужен способ тестирования поддержки браузеров, чтобы вы могли вставить в код альтернативные варианты на JavaScript.
Modernizr – очень полезная JavaScript-библиотека, которая определяет поддержку различных типов ввода, а также audio
, video
и canvas
(http:// www.modernizr.com/).
Этот скрипт создает в JavaScript объект с названием Modernizr. Запрашивая свойства этого объекта, вы можете определить, поддерживает браузер тот или иной тип ввода или нет:
if (!Modernizr.inputtypes.color) {
}
Modernizr также исполнит маленький шулерский трюк, который позволит вам применять стили к новым структурным элементам Internet Explorer, – так что если вы используете Modernizr, то не нужно использовать вместе с ним скрипт Реми.
Выберите собственную стратегию
Только вы решаете, как будете использовать HTML5 – осторожно или, наоборот, амбициозно.
По крайней мере что вы можете сделать без всяких проблем – это взять ваши текущие HTML– или XHTML-документы и изменить доктайп на:
!DOCTYPE html
Ну вот, вы только что сделали первый шаг в большой мир.
Теперь можете начать использовать роли ARIA – что вам, собственно, терять?
Если вы беспокоитесь по поводу новых структурных элементов, все равно можете начать привыкать к новой семантике, потренировавшись на именах классов:
div class="section"
div class="header"
h1Hello world!/h1
/div!– /.header –
/div!– /.section –
По мере того как вы будете дальше продвигаться в мир HTML5, когда будете чувствовать себе более уверенно относительно новых элементов HTML5, можете заменить эти элементы div
и имена классов соответствующими структурными элементами.
Если, пожалуй, еще слишком рано использовать более продвинутые типы ввода, такие как date
, range
и color
, нет ничего плохого в том, чтобы использовать search
, url
, email
и другие простые типы ввода. Не забывайте, что браузеры, которые не понимают этих значений, будут просто отображать поле ввода, как если бы оно было обозначено как type="text"
.
Если вы чувствуете в себе дух искателя приключений, можете начать играть с audio
, video
и canvas
. Может быть, они не вполне готовы для крупных аудиторий, но это точно забавные игрушки, с которыми можно поэкспериментировать на вашем личном сайте.
Ресурсы
Я довольно часто пишу о HTML5 на своей личной
страничке: http://adactio.com/journal/tag/html5
Я не единственный человек в мире, который с нетерпением ждет HTML5. Невероятный Брюс Лосон (Bruce Lawson) тоже записывает свои мысли: http://brucelawson.co.uk/category/html5/
Брюс – только один из активных участников HTML5 Doctor – отличного ресурса, сообщество которого пишет здесь множество прекрасных статей: http://html5doctor.com/
Если вы раздумываете, не взглянуть ли на более сложную сторону HTML5, то Реми Шарп выжимает из этого языка разметки все, что возможно: http://html5demos.com/