+2

Khi nào nên dùng main, section, article, header, footer, và aside trong HTML5

HTML5 đã giới thiệu các thẻ ngữ nghĩa giúp cấu trúc nội dung web một cách có ý nghĩa hơn — không chỉ cho lập trình viên mà còn cho trình duyệt và các công nghệ hỗ trợ như trình đọc màn hình.

Nếu bạn chưa chắc khi nào nên dùng <main>, <section>, <article>, <header>, <footer>, hoặc <aside>, thì bài viết này là dành cho bạn. Hãy cùng tìm hiểu chúng là gì, khi nào nên dùng và những điều nên tránh.

1. <main>

Định nghĩa nội dung chính của trang — phần làm cho trang trở nên đặc biệt.

Sử dụng cho:

  • Bài viết blog, danh sách sản phẩm, bảng điều khiển
  • Bất kỳ nội dung nào là trung tâm của trang

Không dùng cho:

  • Header, footer, menu điều hướng, thanh bên
  • Mỗi trang chỉ nên có một thẻ <main> duy nhất.

2. <section>

Nhóm các nội dung có chủ đề chung, lý tưởng là có tiêu đề (<h1><h6>).

Sử dụng cho:

  • Mục "Bài viết mới nhất"
  • Mục Câu hỏi thường gặp (FAQ)
  • Một trang được chia thành nhiều phần hợp lý

Mẹo: Dùng aria-label hoặc thêm tiêu đề để cải thiện khả năng truy cập.

3. <article>

Một khối nội dung độc lập, có thể tái sử dụng — nó nên có ý nghĩa ngay cả khi đứng một mình.

Sử dụng cho:

  • Một bài blog hoặc bài báo
  • Một bình luận hoặc đánh giá người dùng

Không dùng để:

  • Gói các thành phần không liên quan chỉ vì chúng được hiển thị gần nhau về mặt hình ảnh.

4. <header>

Giới thiệu một phần hoặc toàn bộ trang. Có thể bao gồm:

  • Tiêu đề
  • Logo
  • Menu điều hướng

Sử dụng:

  • Một lần ở đầu trang
  • Bên trong <section> hoặc <article> như phần giới thiệu

5. <footer>

Kết thúc một phần hoặc cả trang. Có thể bao gồm:

  • Thông tin tác giả
  • Liên kết liên quan
  • Bản quyền

Sử dụng:

  • Ở cuối trang
  • Bên trong <article> để hiển thị metadata như ngày tháng hoặc thẻ

6. <aside>

Biểu thị nội dung có liên quan nhưng không thiết yếu đối với nội dung chính.

Sử dụng cho:

  • Thanh bên
  • Bài viết liên quan
  • Trích dẫn, mẹo nhỏ hoặc quảng cáo

Kết luận

HTML ngữ nghĩa giúp mã nguồn của bạn dễ truy cập, dễ bảo trì và dễ hiểu hơn — không chỉ với bạn mà còn với tất cả những ai tương tác với trang web.

Cảm ơn bạn đã dành thời gian đọc bài viết.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí