테마의 W3C 표준 준수를 유지하는 방법


10

테마를 작성할 때 XHTML 1.1 및 CSS 2.1과 호환되는지 확인했습니다. 그런 다음 플러그인을 추가했는데 테마가 더 이상 XHTMl 1.1과 호환되지 않습니다. 그런 다음 CSS에서 Google API 글꼴을 사용했으며 CSS 2.1과 호환됩니다.

플러그인, 글꼴 등을 제거하지 않고 준수를 유지할 수있는 방법이 있습니까? 아니면 유효성 검사 오류를 무시해야합니까?

답변:


5

수정, 테마는 여전히 XHTML 1.1 및 CSS 2.1을 준수했지만 추가 한 플러그인 호환 되지 않는 추가 코드를 삽입했습니다 .

불행히도 플러그인을 사용하는 경우 규정 준수를 유지하는 쉬운 방법은 없습니다. 할 수있는 최선의 방법은 테마와 개인적으로 책임이있는 모든 마크 업을 검증하는 것입니다. 그런 다음 다른 개발자가 자신의 작업을 검증하기 위해 시간을 갖기를 바랍니다.

대안은 당신의 부분에 더 많은 작품 - 당신은 여전히 플러그인의 핵심 기능을 사용할 수 있지만, 출력을 허용하지 않는 모든 브라우저에 마크 업을. 플러그인이 닿는 모든 것을 풀고 나만의 커스텀 레이어를 추가하고 나만의 출력 버퍼를 만듭니다. 이것은 브라우저로 전송되는 마크 업 스타일을 제어 할 수 있는 유일한 방법입니다.

여러 플러그인이 HTML 5를 사용하기 시작했습니다. 다른 플러그인은 CSS3을 사용하려고합니다. 이러한 플러그인을 설치하고 출력을 삭제하고 유효성을 검사하기위한 단계를 수행하지 않으면 사이트의 유효성 검사가 중단됩니다.


1
고마워, 나는 HTML을 살균하는 옵션을 가지고 가고 싶지 않다고 생각한다. 내 사이트에서 해당 W3C 배지를 제거해야 할 수도 있습니다. :)
James

자동으로 규정 준수를 얻을 수 있으므로 반드시 필요한 것은 아닙니다. 아래 답변을 참조하십시오. 당신의 테마 또는 플러그인 출력에 번거
로울

+1, 다른 사람들의 코드에 의존 할 수는 없습니다. 그들의 코드가 유효한 HTML을 뱉어 내길 바랍니다.
벤 에버 라드

8

각 플러그인은 생성하려는 코드를 생성 할 것이며 일부는 XHTML 1.1과 호환되지 않습니다. 이를 수정하는 유일한 합리적인 방법은 각각을 감사하고 위반자를 수정하거나 개발자가 수정 사항을 패치로 수정하거나 사용하도록하는 것입니다.

또는 필터를 정리하여 정리할 수는 있지만 모든 특수 사례를 파악하려고 시도하면 내 개인적인 악몽의 버전처럼 보이며 이로 인해 성능에 영향을 줄 수 있습니다.

이것을 원하는 클라이언트 / 보스 있습니까, 아니면 " 좋아요 ?" (예, 그것에 대해 강하게 느끼는 사람들이 있습니다. 그러나 나는 그중 하나가 아닙니다.)

즉, XHTML은 웹에서 " 머리 불공평 한 아이 "상태를 잃어 가고있다 . 팀 버너스 리 조차 2006 년에 이렇게 말했다 .

몇 년의 후시와 함께 어떤 것이 더 명확합니다. 점진적으로 HTML을 발전시켜야합니다. 속성 값 주위의 따옴표와 빈 태그 및 네임 스페이스의 슬래시를 포함하여 세상을 XML로 전환하려는 시도는 한 번에 작동하지 않았습니다. 브라우저가 불평하지 않았기 때문에 큰 HTML 생성 대중은 움직이지 않았습니다. 일부 대형 커뮤니티는 변화를 겪고 제대로 구성된 시스템의 과일을 즐기고 있지만 전부는 아닙니다. HTML을 점진적으로 유지하고 올바른 세상으로의 전환을 계속하고 그 세상에서 더 많은 힘을 개발하는 것이 중요합니다.

또한 읽어보십시오 HTML5가 너무 쉽게 XHTML 1.0보다 작성하는 것입니다. StackOverflow에서 끝났습니다. 요약은 다음과 같습니다.

HTML5를 사용할 때 구문 방식만으로도 항상 표준 모드를 ​​호출하는 더 명확하고 읽기 쉬운 마크 업으로 끝납니다. XHTML 1.0 (텍스트 / html로 제공)을 사용하는 경우 브라우저가 자동으로 수행 할 크래프트 (크 래피 dtd에 대해 유효성 검증)를 지정합니다.


그것은 내 개인 웹 사이트이며 테마 자체는 꽤 오래되었습니다. 웹 사이트와 테마는 모두 나를 위해 취미입니다. 새로운 테마를 작성할 때 모든 주요 브라우저에서 HTML5가 상당히 잘 지원 될 것입니다. 플러그인은 비 규격 마크 업을 계속 생성 할 것입니다. 가해자를 정리할 수는 있지만 플러그인 업데이트가 더 어려워집니다. 링크 주셔서 감사합니다.
James

비즈니스 목적이 아니거나 XHTML 준수를 유지하는 능력에 대한 전문 지식을 보여 주더라도 걱정하지 않아도됩니다.
MikeSchinkel

웹 사이트와 서버를 학습 도구로 사용합니다. 직장에서하는 것과 다른 것을 배우십시오.
James

버머. 재미없는 일처럼 들린다. 학습은 내가하는 것 모두입니다! :)
MikeSchinkel

아, 그 일은 재미 있지만 대부분 Windows 기반 개발입니다. 이것은 C #에서 휴식과 비슷합니다. :)
James

2

표준을 준수한다고해서 웹 사이트가 모든 브라우저에서 작동하는 것은 아닙니다. 표준 준수를 무시하고 가능한 많은 브라우저를 사용한 테스트에 집중하십시오.


1

사이트의 전체 출력을 버퍼링 한 다음 호환되는 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;

나는 이미 그렇게하기위한 기존의 워드 프레스 플러그인이 있다고 확신합니다. 보자 :


흥미 롭군 나는 그것을 시도 할 것이다.
James
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.