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


10

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ể giữ sự tuân thủ mà không cần loại bỏ các plugin, phông chữ, v.v hay tôi chỉ nên bỏ qua các lỗi xác thực?

Câu trả lời:


5

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ông tuâ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 riêng 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à cách duy nhất bạn có quyền kiểm soát phong cách đá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ệ.


1
Cảm ơn, tôi không nghĩ rằng tôi muốn sử dụng tùy chọn vệ sinh HTML. Tôi có thể phải xóa các huy hiệu W3C đó khỏi trang web của mình :)
James

Ồ không nhất thiết là một nhu cầu vì bạn có thể tự động đạt được sự tuân thủ, xem câu trả lời của tôi dưới đây. Không cần phải rắc rối với chủ đề hoặc đầu ra plugin của bạn :)
hakre

+1, bạn không bao giờ thực sự có thể dựa vào mã người khác, chỉ hy vọng mã của họ tạo ra html hợp lệ.
Ben Everard

8

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 / ông chủ nào muốn điều này không, hay đó chỉ là một thứ gì đó được coi là " tốt đẹp để có ?" (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; ngay cả Tim Berners-Lee cũng đã nói như vậy vào năm 2006:

Một số điều rõ ràng hơn với nhận thức muộn màng trong 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 tất cả 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.


Đây là trang web cá nhân của tôi và chủ đề này khá cũ. Trang web và chủ đề tất cả chỉ là sở thích của tôi. Vào thời điểm tôi viết một chủ đề mới, có lẽ chúng tôi sẽ có hỗ trợ HTML5 khá tốt trong tất cả các trình duyệt chính. Các plugin sẽ tiếp tục tạo ra đánh dấu không tuân thủ. Tôi có thể thử dọn dẹp kẻ phạm tội nhưng sau đó các cập nhật plugin trở nên khó khăn hơn. Cảm ơn các liên kết.
James

Vâng, nếu nó không nhằm mục đích kinh doanh hoặc thể hiện chuyên môn về khả năng duy trì tuân thủ XHTML của bạn, tôi sẽ không lo lắng về điều đó.
MikeSchinkel

Tôi sử dụng trang web và máy chủ làm công cụ học tập. Học những điều khác với những gì tôi làm trong công việc.
James

Bummer. Âm thanh như một công việc không vui vẻ. Học là tất cả những gì tôi làm dường như! :)
MikeSchinkel

Ồ, công việc đủ thú vị, nhưng chủ yếu là phát triển dựa trên Windows. Điều này giống như một sự nghỉ ngơi từ C # :)
James

2

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.


1

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 nào:


Hấp dẫn. Tôi sẽ cho nó nó một cơ hội.
James
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.