Images
รูปภาพเป็นหนึ่งในสิ่งแรก ๆ ที่ดีไซเนอร์อยากเพิ่มลงในหน้าเว็บ — และ element <img> ก็ทำให้เรื่องนี้ง่ายมาก เหมือนการวางรูปภาพใน Figma คุณแค่ชี้ไปที่ไฟล์ต้นทาง แล้วรูปก็ปรากฏขึ้นมา
แต่รูปภาพใน HTML มีพลังพิเศษอย่างหนึ่งที่เครื่องมือออกแบบไม่มีติดตัวมา นั่นคือ alt text คำอธิบายสั้น ๆ นี้คือสิ่งที่ browser ใช้เมื่อรูปภาพไม่สามารถมองเห็นได้ — โดยผู้ใช้ screen reader หรือเมื่อไฟล์โหลดไม่สำเร็จ การเขียน alt text ที่ดีคือหนึ่งในวิธีที่เร็วที่สุดที่ดีไซเนอร์จะสร้างความแตกต่างที่แท้จริงด้าน accessibility ได้
img element
หัวข้อที่มีชื่อว่า “img element”<img> เป็น element แบบ self-closing — ไม่มีเนื้อหาข้อความให้ห่อ จึงไม่มี closing tag
<img src="photo.jpg" alt="A designer sketching wireframes on paper" />มีสอง attribute ที่จำเป็น:
src— path ไปยังไฟล์รูปภาพ (relative path หรือ URL เต็ม)alt— คำอธิบายข้อความสั้น ๆ ว่ารูปภาพแสดงอะไร
การกำหนดขนาดรูปภาพ
หัวข้อที่มีชื่อว่า “การกำหนดขนาดรูปภาพ”โดยค่าเริ่มต้น รูปภาพจะแสดงผลตามขนาดพิกเซลตามธรรมชาติของตัวเอง ซึ่งมักจะใหญ่เกินไป คุณสามารถจำกัดขนาดได้ด้วย attribute ของ HTML หรือ (ดีกว่า) ด้วย CSS:
<!-- limit width, height scales automatically --><img src="photo.jpg" alt="..." width="400" />ใน CSS คุณมักจะตั้ง max-width: 100% เพื่อให้รูปภาพไม่ล้นออกนอก container ของตัวเอง — แนวคิดเดียวกับ constraint แบบ “fill” ใน Figma
เมื่อรูปภาพโหลดไม่สำเร็จหรือมองไม่เห็น
หัวข้อที่มีชื่อว่า “เมื่อรูปภาพโหลดไม่สำเร็จหรือมองไม่เห็น”ถ้ารูปภาพโหลดไม่สำเร็จ (path ผิด หรือเชื่อมต่อช้า) browser จะแสดง alt text แทน screen reader สำหรับผู้ใช้ที่ตาบอดหรือสายตาเลือนรางจะอ่าน alt text ออกเสียงแทนการบรรยายพิกเซล ส่วน search engine ก็อ่าน alt text เพื่อทำความเข้าใจเนื้อหาของรูปภาพ
ลองเปลี่ยนข้อความใน alt ดู ตอนนี้ลองจินตนาการถึงผู้ใช้ที่มองไม่เห็นรูปภาพ — alt text ของคุณคือประสบการณ์ทั้งหมดที่พวกเขาได้รับจากรูปนั้น
ข้อผิดพลาดที่นักออกแบบเจอบ่อย
หัวข้อที่มีชื่อว่า “ข้อผิดพลาดที่นักออกแบบเจอบ่อย”- ใช้รูปความละเอียดสูงสุดทุกจุดทำให้เพจโหลดหนักเกินจำเป็น
- ลืม alt text
- ไม่คิดถึง aspect ratio ตอนรูปยังโหลดไม่เสร็จ (เกิด layout shift)
มุมมองของ developer
หัวข้อที่มีชื่อว่า “มุมมองของ developer”👨💻 สิ่งที่ developer เห็นจริง ๆ
หัวข้อที่มีชื่อว่า “👨💻 สิ่งที่ developer เห็นจริง ๆ”Designer เห็น “รูปสวยหนึ่งรูป” แต่ developer ต้อง export หลาย size/format (WebP, srcset) และเผื่อ placeholder ระหว่างที่รูปกำลังโหลด
💡 ตัวอย่างจากของจริง
Airbnb serve รูปเดียวกันหลาย resolution ผ่าน
srcsetเพื่อให้มือถือโหลดไฟล์เล็กกว่าที่ desktop ใช้