Junior #html#semantic#accessibility#seo
Semantic HTML là gì? Vì sao nên dùng thay cho `div` khắp nơi?
⚡ Trả lời nhanh
Semantic HTML dùng thẻ có ý nghĩa (header, nav, main, article, button...) thay vì div/span chung chung. Nhờ đó screen reader, trình duyệt và search engine hiểu cấu trúc trang, đồng thời có sẵn hành vi (focus, keyboard) mà không cần code thêm.
<header><nav aria-label="Chính">...</nav></header>
<main>
<article>
<h1>Tiêu đề</h1>
<img src="a.jpg" alt="Biểu đồ doanh thu quý 3" />
</article>
</main>
<footer>...</footer>
| Thay vì | Dùng |
|---|---|
div onclick | button (có focus, Enter/Space miễn phí) |
div bọc menu | nav + ul |
| input + text rời | label for gắn với input |