it-swarm-ko.tech

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

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

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

10
James

수정 사항은 여전히 ​​XHTML 1.1 및 CSS 2.1과 호환되지만 추가 한 플러그인에는iscompliant가 아닌 추가 코드가 삽입되었습니다.

플러그 - 인을 사용하는 경우 준수를 유지하는 쉬운 방법이 없습니다. 당신이 할 수있는 최선은 당신이 개인적으로 책임지고있는 당신의 테마와 마크 업을 검증 한 다음, 다른 개발자들이 자신의 작업을 검증 할 시간을 갖기를 바랍니다.

다른 방법으로는 더 많은 작업을 할 수 있습니다. 플러그인의 핵심 기능을 계속 사용할 수는 있지만 브라우저에서 any 마크 업을 출력 할 수 없습니다. 플러그 인이 만지는 모든 것을 숨기는 사용자 지정 레이어를 추가하고 자신 만의 출력 버퍼를 만드십시오. 이것은only브라우저에서 전송되는 마크 업 스타일을 제어 할 방법입니다.

여러 플러그인이 HTML 5를 사용하기 시작했으며 다른 플러그인은 CSS3를 사용하려고합니다. 이러한 플러그인을 설치하고 결과를 살균하고 유효성을 검증하는 조치를 취하지 않으면 사이트가 올바르게 유효성 검사를 중단하게됩니다.

5
EAMann

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

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

이것을 원하는 클라이언트/보스가 있습니까, 아니면 " Nice-to-have "로 추정되는 것입니까? (예, 그것에 대해 강하게 느끼는 사람들이 있습니다. 그러나 나는 그중 하나가 아닙니다.)

즉, XHTML은 웹에서 " 머리 불공평 한 자식 "상태를 잃어 버렸습니다. 짝수 Tim Berners-Lee 말했다 2006 년

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

또한 HTML5는 XHTML 1.0보다 쓰기가 훨씬 쉽습니다. StackOverflow에서 끝났습니다. 요약은 다음과 같습니다.

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

8
MikeSchinkel

표준을 준수한다고해서 모든 브라우저에서 웹 사이트가 작동한다는 보장은 없습니다. 표준 준수를 무시하고 최대한 많은 브라우저로 테스트에 집중하십시오.

2
tomdxw

사이트의 전체 출력을 버퍼링 한 다음 호환 HTML로 정리할 수 있습니다. 가장 좋은 점은 이것이 완전히 자동화 된 것입니다.

테마 초기화 또는 관련 후크 (예 : * setup_theme * hook)에서 출력 버퍼링을 활성화 할 수 있습니다.

다음은 두 가지 코드 단편입니다. 첫 번째는 출력 버퍼링을 시작하고 나중에 버퍼를 읽음을 보여줍니다.

<?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
hakre