arlenbeiler
  • 0
Эксперт

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

  • 0

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

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

Share
  1. Исправление: ваша тема по-прежнему совместима с XHTML 1.1 и CSS 2.1, но добавленные вами подключаемые модули вводят дополнительный несовместимый код.

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

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

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

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

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

    Есть ли у вас клиент/начальник, который хочет этого, или это просто что -то вроде «приятно иметь »? (Да, есть те, кто сильно к этому относится. Однако я не из таких.)

    Тем не менее, XHTML теряет свой статус « белокурого ребенка » в Интернете; даже Тим Бернерс-Ли сказал это еще в 2006 году:

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

    Вы также можете прочитать , что HTML5 намного проще писать, чем XHTML 1.0. на StackOverflow. Вот их резюме:

    С точки зрения синтаксиса, когда вы используете HTML5, вы получаете более чистую и удобную для чтения разметку, которая всегда вызывает режим стандартов. Когда вы используете XHTML 1.0 (подается как text/html), вы указываете кучу хлама (для проверки на дрянной dtd), который браузер будет делать автоматически.

    • 0
  3. Соответствие стандартам не гарантирует, что ваш веб-сайт будет работать во всех браузерах. Игнорируйте соответствие стандартам и сосредоточьтесь на тестировании с максимально возможным количеством браузеров.

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

    Вы можете включить буферизацию вывода при инициализации темы или связанных хуках (например, хуке *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. Давайте посмотрим:

    • 0

Оставить ответ

You must login to add an answer.