Thảo luận về ngữ nghĩa của mã HTML với các ví dụ. Mật mã thay thế - hoạt động giáo dục và khoa học của Vladimir Viktorovich Anisimov

Ngữ nghĩa của mã HTML luôn là một chủ đề nóng. Một số nhà phát triển cố gắng luôn viết mã ngữ nghĩa. Những người khác chỉ trích những người theo giáo điều. Và một số thậm chí không biết nó là gì và tại sao nó lại cần thiết. Ngữ nghĩa được xác định trong HTML trong các thẻ, lớp, ID và thuộc tính mô tả mục đích nhưng không chỉ định chính xác nội dung chúng chứa. Tức là chúng ta đang nói về việc tách nội dung và định dạng của nó.

Hãy bắt đầu với một ví dụ rõ ràng.

Ngữ nghĩa mã xấu

Tiêu đề bài viết
Và tác giả
Inko Gnito.

Ngữ nghĩa mã tốt

Tiêu đề bài viết

Nội dung của một bài báo được viết bởi ai đó. Inko Gnito- tác giả của nó.

Cho dù bạn nghĩ HTML5 đã sẵn sàng để sử dụng hay chưa thì việc sử dụng

trong trường hợp này nó sẽ hấp dẫn hơn bình thường
chỉ ra lớp học. Tiêu đề của bài viết trở thành tiêu đề, mục lục trở thành đoạn văn và văn bản in đậm trở thành thẻ. .

Nhưng không phải mọi thứ đều được thể hiện rõ ràng bằng thẻ HTML5. Chúng ta hãy xem một tập hợp các tên lớp và xem liệu chúng có đáp ứng các yêu cầu về ngữ nghĩa hay không.

Không phải mã ngữ nghĩa.Đây là một ví dụ cổ điển. Mọi bàn làm việc lưới CSS đều sử dụng các loại tên lớp này để xác định các thành phần lưới. Cho dù đó là "yui-b", "grid-4" hay "spanHalf" - những cái tên như vậy gần với việc chỉ định đánh dấu hơn là mô tả nội dung. Tuy nhiên, việc sử dụng chúng là không thể tránh khỏi trong hầu hết các trường hợp khi làm việc với các mẫu lưới mô-đun.

Mã ngữ nghĩa. Footer đã mang lại ý nghĩa mạnh mẽ trong thiết kế web. Đây là phần dưới cùng của trang, chứa các thành phần như điều hướng lặp lại, quyền sử dụng, thông tin tác giả, v.v. Lớp này định nghĩa một nhóm cho tất cả các phần tử này mà không mô tả chúng.

Nếu bạn đã chuyển sang sử dụng HTML5 thì tốt hơn nên sử dụng phần tử

trong trường hợp này. Ghi chú cũng áp dụng cho tất cả các phần khác của trang web (tiêu đề phải là
, bảng điều khiển bên -