Câu trả lời ngắn gọn: không.
Tôi chưa bao giờ thấy XHTML nghiêm ngặt đáng để nỗ lực.
Vấn đề đầu tiên với nó là nó không dùng nhiều tính năng HTML thực sự hữu ích và không có giải pháp thay thế tốt. Đây là một vấn đề cụ thể nếu bạn cần tương thích ngược với các trình duyệt cũ hơn (tất nhiên mọi người đều làm). Thông số kỹ thuật của Transisional không phản đối các tính năng này, đó là lý do tại sao mọi người sử dụng nó thay vì Nghiêm ngặt.
Các tính năng đã được phản đối bao gồm thẻ <center>
(lựa chọn thay thế CSS không qua trình duyệt tương thích vào thời điểm đó) và target
thuộc tính cho <a>
thẻ (mà cho phép bạn mở một liên kết trong một cửa sổ mới, tab hoặc khung; vẫn không có cách nào khác để làm điều này, không ai ngừng sử dụng nó và HTML5 đã giới thiệu lại nó). Có khá nhiều tính năng khác trên cùng một dòng, nhưng đã lâu rồi, và tôi không thể nhớ hết.
Thứ hai, nó được thiết kế để làm cho trình duyệt thất bại nếu đánh dấu của bạn thậm chí có lỗi nhỏ nhất. Điều này nghe có vẻ tuyệt vời về mặt lý thuyết, nhưng luôn luôn bị thất bại. Về cơ bản, nó là một bước phản động được thực hiện bởi các nhà văn đặc tả chống lại sự gia tăng của mã HTML chất lượng kém (và ở một mức độ nào đó vẫn là) một vấn đề lớn đối với web. Nhưng họ đã quên một quy tắc quan trọng để thiết kế giao thức máy khách-máy chủ, đó là máy chủ phải nghiêm ngặt về những gì nó gửi, nhưng khách hàng nên được khoan dung. Tất cả các giao thức client-server thành công đều tuân theo quy tắc này. Bạn cần phải kiểm tra xem trong giai đoạn phát triển, không phải là điều quan trọng, bất kể phương ngữ HTML nào bạn đang viết - nhưng bạn nên kiểm tra xem trong giai đoạn phát triển có phải là hay không cho phép trình duyệt của người dùng cuối thực hiện xác thực của bạn cho bạn. Nếu bạn là một nhà phát triển tốt, bạn nên biết rằng mã của bạn là tốt trước khi nó được bất cứ nơi nào gần người dùng. Và trên thực tế, nếu điều đó khiến trang web của bạn hoàn toàn bị phá vỡ trước người dùng cuối thì đó là thảm họa. Với HTML bị hỏng, ngay cả khi nó bị hỏng nặng, người dùng thường có thể điều hướng và đọc trang web đầy đủ để có thể tìm thấy chi tiết liên hệ để bạn báo cáo lỗi. Với trình duyệt tôn trọng loại tài liệu XHTML nghiêm ngặt, lỗi đánh dấu nhỏ có thể khiến trang web của bạn hiển thị không có gì khác ngoài thông báo lỗi trình duyệt chuẩn. Đây là trải nghiệm người dùng rất kém.
Cuối cùng, nó không cung cấp bất kỳ tính năng mới nào. Một điều nó đã làm mà các phiên bản HTML cũ hơn không làm là cho phép tài liệu được phân tích cú pháp như một tài liệu XML. Điều này là tốt cho việc xác nhận rằng tài liệu của bạn không có bất kỳ lỗi nào, nhưng không thực sự đạt được nhiều thứ khác. Bạn cũng có thể nhúng các định dạng XML khác vào tài liệu của mình, sử dụng các không gian tên, nhưng điều này phức tạp và cũng không thực sự đạt được nhiều mới.
XHTML luôn là một giấc mơ lý tưởng, và thật may mắn là mờ dần đi khi HTML5 trở thành một điều mới mẻ và thú vị.
Bạn có thể đưa ra một vài ví dụ về các tính năng không dùng nữa không? Dường như với tôi rằng tất cả các tính năng đều có một giải pháp tuân thủ XHTML tốt. – tskuzzy
@tskuzzy - okay, tôi đã chỉnh sửa câu trả lời để bao gồm hai tính năng ngăn tôi chuyển sang XHTML Nghiêm ngặt trở lại trong ngày. – Spudley