Как поддержать соответствие стандартов W3C темы

Когда я записал тему, я удостоверился, что это было совместимо с XHTML 1.1 и CSS 2.1. Затем я добавил плагины, и тема больше не совместима с XHTMl 1.1. Затем я использовал шрифт Google API в своем CSS, и это - более длинный совместимый CSS 2.1.

Существует ли способ, которым я могу сохранить соответствие, не избавляясь от плагинов, шрифт и т.д., или я должен просто проигнорировать ошибки проверки?

10
24.08.2010, 21:33
4 ответа

Исправление, Ваша тема была все еще совместима с XHTML 1.1 и CSS 2.1, но плагины, Вы добавили введенный дополнительный код, который не был совместим.

К сожалению, нет никакого простого способа поддержать соответствие при использовании плагинов. Лучшее, которое можно сделать, проверяют тему и всю разметку, Вы лично ответственны за, затем надеетесь, что другие разработчики не торопились для проверки их собственной работы.

Альтернатива является намного большим количеством работы с Вашей стороны - Вы можете все еще использовать базовую функциональность плагинов, но не позволяете им производить любую разметку к браузеру. Добавьте свой собственный слой, который отсоединяет все сменные касания, и создайте свой собственный буфер вывода. Это - единственный способ, которым Вы будете управлять стилем разметки, отправляемой в браузер.

Несколько плагинов начинают использовать HTML 5... другие пытаются использовать CSS3. Если Вы установите эти плагины и не предпримете шаги, чтобы санировать и проверить их вывод, то Ваш сайт прекратит проверять правильно.

5
19.02.2020, 22:00
  • 1
    Спасибо, я не думаю, что хочу пойти с опцией очистки HTML. Мне, вероятно, просто придется удалить те значки W3C из моего сайта :) –  James 18.08.2010, 00:53
  • 2
    О, не обязательно потребность, поскольку можно автоматически получить соответствие, видит мой ответ ниже. Никакая потребность изводить с Вашей темой или сменным выходным :) –  hakre 18.08.2010, 14:50
  • 3
    +1, Вы никогда не можете действительно полагаться на другой код народов, просто надеяться, что их код выкладывает допустимый HTML. –  Ben Everard 19.08.2010, 12:16

Каждый плагин собирается сгенерировать код, который он хочет сгенерировать, и часть его не будет совместимым XHTML 1.1. Единственный разумный способ исправить, который должен был бы контролировать каждого и или изменить преступников или заставить разработчика изменять или использовать Ваши модификации в качестве патча.

Альтернатива, которую Вы могли попытаться записать фильтру для чистки его, но пытающийся поймать весь особый случай, походит на версию моего собственного персонального кошмара, и это также влияло бы на производительность для преимущества dudious.

У Вас есть клиент/босс, который хочет это или является этим просто что-то принятое, чтобы быть как "хорош, чтобы?" (Да, существуют некоторые, кто чувствует сильно об этом. Я однако не один из тех.)

Тем не менее XHTML освобождает свое "светловолосое дочернее" состояние в сети; даже Tim Berners-Lee сказанный так назад в 2006:

Некоторые вещи более ясны с непредусмотрительностью нескольких лет. Необходимо развить HTML инкрементно. Попытка заставить мир переключаться на XML, включая кавычки вокруг значений атрибута и наклонных черт в пустых тегах и пространствах имен внезапно не работала. Многочисленная генерирующая HTML общественность не перемещалась, в основном потому что браузеры не жаловались. Некоторые многочисленные сообщества действительно смещали и наслаждаются плодами правильно построенных систем, но не всех. Важно поддержать HTML инкрементно, а также продолжение перехода к правильно построенному миру и разработки большего количества питания в том мире.

Вы могли бы также хотеть читать, HTML5 настолько легче записать, чем XHTML 1.0. на StackOverflow. Вот их сводка:

Просто мудрый синтаксисом при использовании HTML5 Вы заканчиваете с инструментом для очистки, легче считать разметку, которая всегда вызывает режим стандартов. То, когда Вы используете XHTML 1.0 (служило текстом/HTML), Вы указываете набор грязи (для проверки против дрянной даты), который браузер сделает автоматически.

8
19.02.2020, 22:00
  • 1
    , Это - мой личный веб-сайт, и сама тема довольно стара. Веб-сайт и тема - все просто хобби для меня. К тому времени, когда я пишу новую тему, у нас, вероятно, будет довольно хорошая поддержка HTML5 во всех главных браузерах. Плагины собираются продолжить генерировать не совместимую разметку. Я мог попытаться очистить преступника, но затем сменные обновления становятся более жесткими. Спасибо за ссылки. –  James 18.08.2010, 01:44
  • 2
    Да, если бы это не для бизнес-цели, или показать экспертные знания в области Вашей способности поддержать соответствие XHTML я не волновался бы об этом. –  MikeSchinkel 18.08.2010, 02:09
  • 3
    я использую веб-сайт и серверы как средства обучения. Изучение вещей, которые отличаются от того, что я делаю на работе. неприятность –  James 18.08.2010, 18:40
  • 4
    . Походит на незабавное задание. Изучение - все, что я делаю это кажется! :) –  MikeSchinkel 18.08.2010, 19:00
  • 5
    О, задание является достаточно забавой, но главным образом основанной на Windows разработкой. Это больше похоже на повреждение от C# :) –  James 18.08.2010, 19:16

Соответствие стандартам не гарантирует, что Ваш веб-сайт будет работать во всех браузерах. Проигнорируйте соответствие стандартов и внимание на тестирование с как можно большим количеством браузеров.

2
19.02.2020, 22:00

Можно буферизовать целый вывод сайта и затем убрать его в совместимый HTML. Лучший из него, что это может быть сделано полностью автоматизированное:

Можно включить выходную буферизацию на теме init или связанных рычагах (например, *setup_theme* рычаг).

Вот два фрагмента кода. Сначала каждый показывает, что Вы запускаете выходную буферизацию и считываете буфер позже:

<?php
ob_start();
?>
  …
<?php
$buffer = ob_get_clean();
$tidy = tidy_repair_string($buffer);
echo $tidy;
?>

Второй показывает некоторые параметры конфигурации в действии:

/* Tiny Configuration */
$config["clean"]         = true;
$config["hide-comments"] = true;
$config["output-xhtml"]  = true;
$config["indent-spaces"] = 2;
$config["tab-size"]      = 2;
$config["wrap"]          = 0;

$buffer = ob_get_clean();
$tidy   = tidy_repair_string($buffer, $config);

echo $tidy;

Я держал пари, что уже существует существующий плагин Wordpress для того, чтобы сделать так.Посмотрим:

1
19.02.2020, 22:00

Теги

Похожие вопросы