С 2003 года, когда Ник и Стивен придумали этот термин, прогрессивное улучшение было отличительным признаком ответственного подхода к основанному на стандартах веб-дизайну. Начиная с написания семантической, правильно структурированной разметки, приправленной CSS и сценарием DOM посредством JavaScript, где это необходимо, мы можем создать убедительный дизайн для различных браузеров, при этом гарантируя универсальный доступ к контенту, скрытому под дизайном.
Стивен Хэй также высказался в пользу прогрессивного улучшения в своем прекрасном эссе There is no Mobile Web («Нет никакой мобильной Сети») :
У вас случались такие моменты, когда кто-то вдруг взял и четко объяснил, почему вы верите в то, во что верите? В своем эссе Стивен в точности указал все причины, по которым мне так нравится отзывчивый веб-дизайн. Вместо того чтобы вкладывать наш контент в различные сайты, предназначенные для различных устройств, мы можем использовать прогрессивное улучшение, чтобы гарантировать качественный доступ для всех, с расширенным представлением для более «продвинутых».
Работа с JavaScript
Рис. 5.16.
Слайд-шоу или, точнее, его подобиеПрежде всего, давайте обратим внимание на слайд-шоу в верхней части сайта Robot or Not (рис. 5.16
). В настоящее время разметка выглядит следующим образом:div class="slides"
div class="figure"
bimg src="img/slide-robot.jpg" alt="" //b
div class="figcaption"…/div
/div!– /end.figure –
ul class="slide-nav"
lia class="prev" href="#"Previous/a/li
lia class="next" href="#"Next/a/li
/ul
/div!– /end.slides –
Совсем не впечатляет, да? К тому же еще и не очень функционально: мы написали интерфейс для слайд-шоу, но он еще не работает. Мы включили в шаблон один слайд, а также навигацию «вперед/назад». Но нажатие на эти ссылки ни к чему не приводит.
То есть нужно включить немного JavaScript и придать нашему дизайну некоторую интерактивность. Но для начала нам нужны слайды! Так что давайте найдем еще пару изображений и допишем HTML:
div class="slides"
div class="figure"
bimg src="img/slide-robot.jpg" alt="" //b
div class="figcaption"…/div
/div!– /end.figure –
div class="figure"
bimg src="img/slide-tin.jpg" alt="" //b
div class="figcaption"…/div
/div!– /end.figure –
ul class="slide-nav"
lia class="prev" href="#"Previous/a/li
lia class="next" href="#"Next/a/li
/ul
/div!– /end.slides –
Используя тот же самый модуль .figure