เมื่อใดไม่ใช้ตารางจัดเลย์เอาต์

ตารางมีไว้สำหรับข้อมูลตาราง

อย่าใช้ table เพื่อวางโลโก้ คอลัมน์หน้าเว็บ หรือจัดระยะห่างเลย์เอาต์ — นั่นคืองานของ CSS ในบทหลัง

ทำไมถึงแย่

• โครง HTML ไม่สื่อความหมายจริง

• ยากต่อการดูแลและปรับบนมือถือ

• โปรแกรมอ่านหน้าจออ่านเป็น “ตาราง” ทั้งที่ผู้ใช้ต้องการนำทางหน้า

<!-- ผิดแนวคิด: ใช้ตารางจัดสองคอลัมน์หน้าเว็บ -->
<table>
  <tr>
    <td>เมนู</td>
    <td>เนื้อหาหลัก</td>
  </tr>
</table>

<!-- ถูกแนวคิด: ตารางเฉพาะข้อมูลที่เป็นตารางจริง -->
<!-- เลย์เอาต์หน้าค่อยใช้ CSS ภายหลัง -->
ถามตัวเอง: “นี่คือข้อมูลที่ต้องอ่านเป็นแถว×คอลัมน์หรือเปล่า?” ถ้าไม่ใช่ — อย่าใช้ table