Як підтримувати відповідність темі стандартам W3C


10

Коли я писав тему, я переконався, що вона відповідає XHTML 1.1 та CSS 2.1. Потім я додав плагіни, і тема вже не відповідає XHTMl 1.1. Тоді я використовував шрифт Google API у своєму CSS, і він довше відповідає CSS 2.1.

Чи є спосіб я зберегти відповідність, не позбавляючись плагінів, шрифту тощо, або я просто ігнорую помилки перевірки?

Відповіді:


5

Виправлення, ваша тема все ще відповідала XHTML 1.1 та CSS 2.1, але до плагінів ви додали додатковий код, який не відповідає сумісності.

На жаль, не існує простого способу збереження відповідності, якщо ви використовуєте плагіни. Найкраще, що ви можете зробити, це підтвердити тему і всю розмітку, за яку ви особисто несете відповідальність, тоді сподівайтеся, що інші розробники знайшли час для перевірки власної роботи.

Альтернативою є набагато більше роботи з вашого боку - ви все ще можете використовувати основну функціональність плагінів, але не дозволяйте їм виводити будь-яку розмітку для браузера. Додайте власний спеціальний шар, який скасовує все, що стосується плагіну, і складіть власний вихідний буфер. Це єдиний спосіб контролю над стилем розмітки, який надсилається до браузера.

Кілька плагінів починають використовувати HTML 5 ... інші намагаються використовувати CSS3. Якщо ви встановите ці плагіни та не вживатимете заходів щодо санітарії та перевірки їх результатів, то ваш веб-сайт перестане перевірятись належним чином.


1
Дякую, я не думаю, що я хочу використовувати параметр санітарії HTML. Можливо, мені доведеться просто видалити ці значки W3C зі свого сайту :)
Джеймс

О, це не обов'язково, оскільки ви можете автоматично отримати відповідність, дивіться мою відповідь нижче. Немає клопоту з темою чи випуском плагіну :)
hakre

+1, ви ніколи не можете покладатися на код інших народів, просто сподівайтеся, що їх код виплесне дійсний html.
Бен Еверард

8

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

Крім того, ви можете спробувати написати фільтр, щоб очистити його, але намагатися зафіксувати весь особливий випадок, схоже, версія мого особистого кошмару, і це також вплине на продуктивність для сумної користі.

Чи є у вас клієнт / начальник, який хоче цього, чи це просто щось, що вважається " приємним "? (Так, є такі, хто сильно відчуває це. Я, проте, не з них.)

Однак, XHTML втрачає статус " русявої дитини " в Інтернеті; навіть Тім Бернерс-Лі сказав це ще в 2006 році:

Деякі речі зрозуміліші з огляду на кілька років. Необхідно поступово розвивати HTML. Спроба змусити світ переключитися на XML, включаючи лапки навколо значень атрибутів та косої риси в порожніх тегах та просторах імен, відразу не спрацювало. Велика громадськість, що генерує HTML, не рухалася, значною мірою тому, що браузери не скаржилися. Деякі великі громади змінилися і насолоджуються плодами добре сформованих систем, але не всі. Важливо підтримувати HTML поступово, а також продовжувати перехід до добре сформованого світу та розвивати більше сили в цьому світі.

Ви також можете прочитати HTML5, що набагато простіше написати, ніж XHTML 1.0. на StackOverflow. Ось їхній підсумок:

Просто в синтаксисі, коли ви використовуєте HTML5, ви отримуєте чистішу, простішу для читання розмітку, яка завжди викликає стандартний режим. Коли ви використовуєте XHTML 1.0 (слугує текстом / html), ви вказуєте купу грубої сировини (для перевірки вакуумного dtd), яку браузер виконає автоматично.


Це мій особистий веб-сайт, і сама тема досить стара. Веб-сайт і тема для мене просто хобі. На той момент, коли я пишу нову тему, ми, мабуть, матимемо досить гарну підтримку HTML5 у всіх основних браузерах. Плагіни продовжуватимуть генерувати невідповідну розмітку. Я можу спробувати очистити порушника, але тоді оновлення плагінів стає жорсткішим. Дякуємо за посилання.
Джеймс

Так, якщо це не з діловою метою або щоб показати досвід у вашій здатності підтримувати відповідність XHTML, я б не хвилювався з цього приводу.
MikeSchinkel

Я використовую веб-сайт та сервери як засоби навчання. Вивчення речей, що відрізняються від того, що я роблю на роботі.
Джеймс

Бампер. Здається, це не весела робота. Навчання - це все, що я роблю, здається! :)
MikeSchinkel

О, робота достатньо весела, але в основному розробка Windows. Це більше схоже на перерву від C # :)
Джеймс

2

Дотримання стандартів не гарантує, що ваш веб-сайт буде працювати у всіх браузерах. Ігноруйте відповідність стандартам і зосередьтеся на тестуванні якомога більше браузерів.


1

Ви можете зберігати весь результат свого веб-сайту, а потім прибирати його в сумісний 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. Подивимось:


Цікаво. Я спробую.
Джеймс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.