it-swarm-vi.tech

Cách duy trì tuân thủ tiêu chuẩn W3C của một chủ đề

Khi tôi viết một chủ đề, tôi chắc chắn rằng nó đã tuân thủ XHTML 1.1 và CSS 2.1. Sau đó, tôi đã thêm các plugin và chủ đề không còn phù hợp với XHTMl 1.1. Sau đó, tôi đã sử dụng phông chữ Google API trong CSS của mình và nó tuân thủ CSS 2.1 dài hơn.

Có cách nào để tôi có thể tuân thủ mà không cần loại bỏ các plugin, phông chữ, v.v.

10
James

Sửa lỗi, chủ đề của bạn vẫn tuân thủ XHTML 1.1 và CSS 2.1, nhưng các plugin bạn đã thêm mã bổ sung đãkhôngtuân thủ.

Thật không may, không có cách nào dễ dàng để duy trì sự tuân thủ nếu bạn đang sử dụng trình cắm. Điều tốt nhất bạn có thể làm là xác thực chủ đề của bạn và tất cả các đánh dấu mà bạn chịu trách nhiệm cá nhân, sau đó hy vọng rằng các nhà phát triển khác đã dành thời gian để xác thực công việc của họ.

Phần thay thế còn rất nhiều công việc của bạn - bạn vẫn có thể sử dụng chức năng cốt lõi của các trình cắm, nhưng không cho phép chúng xuất bất kỳ đánh dấu nào lên trình duyệt. Thêm lớp tùy chỉnh của riêng bạn để gỡ mọi thứ mà trình cắm chạm vào và xây dựng bộ đệm đầu ra của riêng bạn. Đây làonlyway bạn sẽ có quyền kiểm soát kiểu đánh dấu được gửi tới trình duyệt.

Một số plugin đang bắt đầu sử dụng HTML 5 ... những plugin khác đang cố gắng sử dụng CSS3. Nếu bạn cài đặt các plugin này và không thực hiện các bước để vệ sinh và xác thực đầu ra của chúng, thì trang web của bạn sẽ ngừng xác nhận hợp lệ.

5
EAMann

Mỗi plugin sẽ tạo mã mà nó muốn tạo và một số plugin sẽ không tuân thủ XHTML 1.1. Cách hợp lý duy nhất để sửa lỗi đó là kiểm toán từng người và sửa đổi những người vi phạm hoặc yêu cầu nhà phát triển sửa đổi hoặc sử dụng các sửa đổi của bạn như một bản vá.

Thay thế, bạn có thể cố gắng viết một bộ lọc để dọn dẹp nhưng cố gắng bắt tất cả các trường hợp đặc biệt có vẻ giống như một phiên bản của cơn ác mộng cá nhân của riêng tôi và nó cũng sẽ ảnh hưởng đến hiệu suất vì lợi ích khủng khiếp.

Bạn có một khách hàng/sếp muốn điều này không, hay đó chỉ là một thứ được coi là " Nice-to-have ?" (Vâng, có một số người cảm thấy mạnh mẽ về điều đó. Tuy nhiên tôi không phải là một trong số họ.)

Điều đó nói rằng, XHTML đang mất trạng thái " đứa trẻ tóc bạc " trên web; thậm chí Tim Berners-Leeđã nói như vậy trở lại vào năm 2006:

Một số điều rõ ràng hơn với nhận thức sau vài năm. Nó là cần thiết để phát triển HTML tăng dần. Nỗ lực để khiến thế giới chuyển sang XML, bao gồm các trích dẫn xung quanh các giá trị thuộc tính và dấu gạch chéo trong các thẻ trống và không gian tên cùng một lúc không hoạt động. Công chúng tạo HTML lớn không di chuyển, phần lớn là do các trình duyệt không phàn nàn. Một số cộng đồng lớn đã thay đổi và đang tận hưởng thành quả của các hệ thống được hình thành tốt, nhưng không phải tất cả. Điều quan trọng là duy trì HTML tăng dần, cũng như tiếp tục quá trình chuyển đổi sang thế giới được hình thành tốt và phát triển thêm sức mạnh trong thế giới đó.

Bạn cũng có thể muốn đọc HTML5 dễ viết hơn XHTML 1.0. trên StackOverflow. Đây là tóm tắt của họ:

Chỉ cần theo cú pháp, khi bạn sử dụng HTML5, bạn sẽ có được cách đánh dấu sạch hơn, dễ đọc hơn, luôn luôn gọi chế độ tiêu chuẩn. Khi bạn sử dụng XHTML 1.0 (được phân phát dưới dạng văn bản/html), bạn đang chỉ định một loạt lỗi (để xác thực với một dtd crappy) mà trình duyệt sẽ tự động làm.

8
MikeSchinkel

Tuân thủ các tiêu chuẩn không đảm bảo trang web của bạn sẽ hoạt động trong tất cả các trình duyệt. Bỏ qua việc tuân thủ các tiêu chuẩn và tập trung vào thử nghiệm với càng nhiều trình duyệt càng tốt.

2
tomdxw

Bạn có thể đệm toàn bộ đầu ra của trang web và sau đó sắp xếp nó thành HTML tuân thủ. Điều tốt nhất là, điều này có thể được thực hiện hoàn toàn tự động:

Bạn có thể bật bộ đệm đầu ra trên init theme hoặc hook liên quan (ví dụ: * setup_theme * hook).

Đây là hai đoạn mã. Đầu tiên cho thấy rằng bạn bắt đầu bộ đệm đầu ra và đọc bộ đệm sau này:

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

Thứ hai cho thấy một số tùy chọn cấu hình đang hoạt động:

/* 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;

Tôi cá là đã có sẵn một plugin wordpress để làm như vậy. Hãy xem:

1
hakre