tl; dr
Một số chương trình được sử dụng rộng rãi, tạo ra html, sẽ chỉ tạo các thẻ đoạn mở và không đóng các đoạn, giả sử rằng trình duyệt sẽ đóng các đoạn đúng.
Về mặt này, dường như đối với tôi, giả định rằng các trình duyệt sẽ đóng các đoạn đúng cách là không chính xác. Là giải thích của tôi chính xác? Tổng quát hơn, những gì đánh đổi có liên quan đến loại quyết định này?
Duyệt qua mã nguồn moinmoin, dòng mã sau đây lọt vào mắt tôi:
# We only open those tags and let the browser auto-close them:
_auto_closing_tags = set(['p'])
( nguồn )
Sau khi đọc phần còn lại của quá trình triển khai, tôi đã tự thuyết phục rằng có, thực sự, khi moinmoin tạo mã html cho một trong các trang của nó, nó sẽ tạo chính xác các thẻ mở đoạn, khi thích hợp, đồng thời tránh bất kỳ mục đích nào các thẻ đóng đoạn văn (mặc dù có thể làm như vậy một cách tầm thường).
Đối với trường hợp sử dụng cụ thể, khá bất thường của tôi, hành vi này là không chính xác. Tôi muốn gửi báo cáo lỗi và / hoặc thay đổi hành vi. Tuy nhiên, có vẻ như quyết định thiết kế này đã được thực hiện chu đáo. Tôi không đủ thành thạo về sự phức tạp của tiêu chuẩn html, hoặc các triển khai trình duyệt khác nhau, để có thể biết liệu đây có phải là hành vi đúng hay không và tôi có cảm giác rằng bản năng của mình để sửa / thay đổi hành vi này có thể là sai lầm.
Là mã này làm cho một giả định hợp lệ về việc triển khai trình duyệt? Html được tạo có hợp lệ không? Tổng quát hơn, những gì tôi có thể đánh đổi ở đây?