Дефолтный шаблон и другие шаблоны не проходят валидацию.

Автор Sp, 15 ноября 2016, 07:56:09

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Sp

Привет, уважаемые!

Проверил сайт на валидаторе https://validator.w3.org/nu/ и получил ошибки с типом документа и кодировкой.
Это дефолтный швблон 2.11.
На других шаблонах та же картина.
Кэш чистил.
Смотрите скриншот.

Кто-то сталкивался с такой картиной?
Можете прокомментировать?

kak2z

у нас тут где то целая тема этому посвящена)))
дефолтный шаблон, без модов, валидатор тоже воспринимает как код с ошибками))
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

GeorG

Цитата: kak2z от 15 ноября 2016, 10:14:25дефолтный шаблон, без модов, валидатор тоже воспринимает как код с ошибками))
У меня нет, например вот тестовый http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Finsidestyle.ru%2Fdemo%2Findex.php
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sp

Мой шаблон имеет заголовок:

<!DOCTYPE html>
<html dir="ltr" lang="ru">

Интересное дело, на головном сайте такой же код вёрстки и таких проблем нет.
А на форуме есть.

Я вырезал всё лишнее, из <head>, и всё-равно валидатор не принимает.
Странно...

Откуда валидатор может видеть такое в коде utf-8utf-8 ?

GeorG

У вас не указан тип документа?
Должно быть так в коде:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html prefix="og: http://ogp.me/ns#" xmlns="http://www.w3.org/1999/xhtml"', $context['right_to_left'] ? ' dir="rtl"' : '', '>
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Yworld_garry

Можно вот так оставить все

<!DOCTYPE html> - так норм все браузеры HTML5 понимают.

<html lang="ru-RU" prefix="og: http://ogp.me/ns#"> - можно так

И кстати гугл тут недавно объявил, что lang не учитывает, типо хватает на все его алгоритмов.

А валидатор w3 уже давно мягко сказать отстает от жизни, как то им не так шустро стали заниматься нежели прежде ))
Причем массу раз в блоге гугла задавались вопросы, на что ответ примерно такой "ошибки возможны в валидаоре из за постоянно меняющейся ситуации. Старайтесь избегать ошибок в верстке, теги если вставлены по стандарту и в правильном месте не нанесут вреда..."

Sp

Цитата: GeorG от 15 ноября 2016, 11:29:16У вас не указан тип документа?
Должно быть так в коде:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html prefix="og: http://ogp.me/ns#" xmlns="http://www.w3.org/1999/xhtml"', $context['right_to_left'] ? ' dir="rtl"' : '', '>

У меня всё заточено под html5, поэтому и задано <!DOCTYPE html>.
И правильно так: <html dir="ltr" lang="ru">.
Так сам валидатор пишет и в коде Яндекса так прописано. У Яндекса ещё теги туда прописаны, но это уже его заморочки.
lang="ru" - это точно правильно.

Но какой-то скрипт, видимо на лету, лепит своё.
Как это вычислить не понятно.

Sp

Ещё один вопрос:
- валидатор ругается на атрибут name (name="b', $board['id'], '), в фале BoardIndex.template.php, в строке:

<a class="subject" href="', $board['href'], '" name="b', $board['id'], '">', $board['name'], '</a>
Валидатор говорит, что атрибут name устарел и замени его на id, и я всё прощу.
Заменить?
За что отвечает атрибут name в указанной строке?

Sp

Посоветую всем перенести метатег:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

в самый верх, поставте его после тега head.
Так, как в head есть скрипт, который содержит кирилические символы,

var ajax_notification_text = "Загружается...";
var ajax_notification_cancel_text = "Отменить";

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

Sp

Осталось всего две ошибки.
Ключевые ошибки.
На них даже гугл плюётся и не хочет принимать мой адаптивный  шаблон на проверку для мобильных устройств.
Смотрите скриншот.
Какие мысли будут?

GeorG

Цитата: Sp от 15 ноября 2016, 14:13:40За что отвечает атрибут name в указанной строке?
Это не ошибка, работать будет и так, и эдак.
Атрибут name это классика, с его помощью указывается якорь в теге <a>, ID поддерживает все теги, а следовательно с его помощью, якорь можно указывать в любых тегах, что нельзя делать использовав атрибут name. Больше разницы нет.
Можно не заморачиваться, оставить как есть.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sp

Цитата: GeorG от 15 ноября 2016, 14:41:28Можно не заморачиваться, оставить как есть.

Не, ну как оставь как есть?
Я же не для себя, я для валидатора и поисковых систем стараюсь.
Пишет же, что name устарел, замени на id.
Заменил на id.