Ваш образец не соответствует вашей странице.
Проблема в том, что у вас недостаточно тегов </div>
. Внутри раздела с class = "sidebar" есть три начальных тега div
<div class="sidebar-widget">
<div id="sliding-cart">
<div class="wpsc_cart_loading">
но только два конечных тега div и затем тег конечного раздела.
В этой ситуации современные браузеры, такие как Firefox 4 и более поздние, следуют правилам парсинга HTML5. Соответствующий говорит , что когда парсер встречает:
Конечный тег, имя тега которого одно из: "address", "article", "aside",
"blockquote", "button", "center", "details", "dir", "div", "dl",
"fieldset", "figcaption", "figure", "footer", "header", "hgroup",
"list", "menu", "nav", "ol", "pre", "section", "summary", "ul"
Если стек открытых элементов не имеет элемента в области видимости
с тем же именем тега, что и у токена, то это анализ
ошибка; игнорировать токен.
В противном случае выполните следующие действия:
Создание подразумеваемых конечных тегов.
Если текущий узел не является элементом с таким же именем тега
что касается токена, то это ошибка разбора.
Высовывать элементы из стека открытых элементов до элемента
с тем же именем тега, что и токен, извлеченный из стека.
Шаг 1 в этом случае не действует. Шаг 2 просто указывает, что что-то не так, но шаг 3 говорит о том, что там должен был быть тег </div>
, а затем сопоставьте тег </section>
с его начальным тегом. Поэтому в других браузерах ваша страница считается исправной.
Но Firefox 3.x предшествует алгоритму синтаксического анализа HTML5, что означает, что вы находитесь в зависимости от того, какое исправление ошибок было у браузера. Вам может повезти, а может и нет. В этом случае отсутствующий тег end div заставляет Firefox отказаться от тега </section>
, потому что он этого не ожидал.