Разумно ли использовать элементы HTML5 с учетом старых браузеров? - PullRequest
5 голосов
/ 09 января 2011

Я думаю о таких вещах, как <header>, <footer>, <article>, <section> и тип документа HTML5.

Есть ли какая-то польза от проектирования страниц таким образом сейчас? Как их увидят старые браузеры? Могут ли они быть подтверждены?

Я просто не уверен, насколько эти вещи обратно совместимы.

Ответы [ 5 ]

6 голосов
/ 09 января 2011

Отличный способ обеспечения обратной совместимости - использовать что-то наподобие modernizr, его файл javascript, который сообщает вам, какие функции html5 / css3 поддерживает браузер пользователя, и это позволяет вам разрабатывать код таким образом, чтобы он постепенно ухудшался или просто используйте разные правила для разных браузеров (например, создайте класс, который использует border-radius для браузеров, которые его поддерживают, и отдельный класс с округлением углов на основе изображений для браузеров, которые не поддерживают это свойство.

Модернизр сайта

2 голосов
/ 09 января 2011

Это может быть целесообразно по причинам, указанным в других ответах, но следует учитывать несколько проблем:

  • Как уже упоминалось, браузеры, которые не понимают новые элементы, нуждаются виметь дисплей: блок;добавленный в таблицу стилей
  • pre IE 9 не позволяет стилизовать неизвестные элементы, поэтому вам нужно использовать взлом JavaScript.См. HTML5 Doctor для получения дополнительной информации о том, как это сделать
  • Браузер BlackBerry (до BlackBerry OS6) также не позволяет их стилизовать.Я не знаю каких-либо обходных путей для этого.Если это важно для вас, зависит от того, насколько ваш сайт ориентирован на мобильные устройства и есть ли у вас отдельный мобильный сайт.Однако браузер BlackBerry является популярным мобильным браузером, и новой ОС BlackBerry с ее браузером WebKit понадобится некоторое время, чтобы получить значительную долю устройств BlackBerry.
  • Программы чтения с экрана также не знают об этих новыхэлементы.Рекомендуется удвоить их с эквивалентными ролями ARIA, пока поддержка не станет повсеместной.См. HTML5, роли ARIA и средства чтения с экрана для получения дополнительной информации.

Я не знаю никаких недостатков в использовании типа документа HTML5.Я считаю, что это полностью безопасно для использования.

2 голосов
/ 09 января 2011

Вы задали пару вопросов в своем сообщении:

Есть ли какая-то польза от проектирования страниц [с использованием HTML5] сейчас?

да

Используя новую семантическую сеть, вы получаете семантику. Вы придаете смысл своим данным, которые затем можно заставить делать чудеса.

Как их увидят старые браузеры?

Зависит от браузера

Спецификация HTML гласит, что нестандартные элементы HTML следует игнорировать, как если бы они никогда не находились в источнике с самого начала (если что-то не говорит им об обратном). Для большинства соответствующих браузеров (читай: FF, Safari, Opera, Chrome) вы должны придать элементам HTML5 стиль отображения, прежде чем они будут показаны:

section, header, footer, nav, article
{
  display: block;
}

Просто помните, что это зависит от браузера, который на самом деле соответствует спецификации, которую некоторые старые браузеры * кашляют * IE * кашляет * не делали (иногда мне интересно, читала ли команда разработчиков IE read любые спецификации HTML) .

Могут ли они быть проверены?

вроде ...

Спецификация HTML5 еще не завершена, но уже есть ряд онлайн-валидаторов HTML5, которые уже доступны.

1 голос
/ 09 января 2011

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

Как всегда, вы должны использовать правильное обнаружение функций, а не всеобъемлющее обнаружение браузера, чтобы определить, что доступно - оно менее уязвимо для разбитых строк User-Agent и т. П.

Существует превосходное руководство, Dive Into HTML 5 , в котором в основном обсуждается именно этот момент.

0 голосов
/ 09 января 2011

Да, html5 является универсальным стандартом, и поэтому большинство (за исключением IE) активно его поддерживают. Кроме того, вы можете поместить флэш-память в теги видео, если видео не поддерживается, и вы можете настроить библиотеку, такую ​​как jquery, в качестве резервной копии, если html5 не поддерживается.

...