Alt text ผ่านการตรวจอัตโนมัติ ไม่ได้แปลว่าใช้งานได้จริงเสมอไป

7 นาที 15 views บันทึกเป็น PDF
Alt text ผ่านการตรวจอัตโนมัติ ไม่ได้แปลว่าใช้งานได้จริงเสมอไป

มือใหม่หัดทำเว็บต้องรู้! การใส่ Alt text ให้ผ่านโปรแกรมตรวจเช็ค ไม่ได้การันตีว่าคนใช้งานจริงจะเข้าใจ มาดูวิธีเขียนคำอธิบายรูปภาพให้มีคุณภาพและเข้าถึงได้จริง

Alt text คืออะไรและทำไมคนทำเว็บต้องแคร์

ถ้าคุณกำลังฝึกเขียนโปรแกรม คุณอาจเคยได้ยินคำว่า Alt text (ข้อความอธิบายรูปภาพ) มาบ้าง มันคือคุณสมบัติหนึ่งใน HTML ที่ใช้บอกว่ารูปนี้คือรูปอะไร สำหรับคนที่มองไม่เห็นหรือใช้โปรแกรมอ่านหน้าจอ (Screen Reader) พวกเขาจะรับรู้เนื้อหาผ่านข้อความนี้แทนการมองเห็น

ลองจินตนาการว่าคุณต้องฟังเพื่อนอธิบายรูปภาพผ่านโทรศัพท์ ถ้าเพื่อนบอกแค่ว่า "รูปภาพ" คุณคงไม่รู้ว่ามันคือรูปอะไรกันแน่ การเขียน Alt text ที่ดีก็เหมือนการเป็นเพื่อนที่ดีที่ช่วยบรรยายรายละเอียดให้เห็นภาพชัดเจนที่สุด

แต่น่าเสียดายที่ผลสำรวจจาก WebAIM Million พบว่ารูปภาพบนเว็บดังๆ กว่า 25% มี Alt text ที่แย่มาก บางรูปไม่มีเลย บางรูปก็เขียนกว้างเกินไปจนไร้ความหมาย หรือบางคนก็ก๊อปปี้ข้อความจากรูปข้างๆ มาใส่เฉยๆ ซึ่งมันไม่ได้ช่วยให้คนใช้งานได้ประโยชน์จริงเลย

เมื่อการผ่านระบบเช็คอัตโนมัติ ไม่ได้แปลว่าใช้งานได้จริง

ในการพัฒนาเว็บ เรามักใช้เครื่องมือที่เรียกว่า Automated Checker (โปรแกรมตรวจเช็คคุณภาพโค้ดอัตโนมัติ) เพื่อดูว่าเราลืมใส่ Alt text หรือไม่ เครื่องมือพวกนี้จะบอกว่า "ผ่าน" ทันทีถ้ามีข้อความอยู่ในช่องนั้น แม้ว่าคุณจะใส่คำว่า alt="image" หรือชื่อไฟล์มั่วๆ ลงไปก็ตาม

ปัญหาคือเครื่องมือเหล่านี้มองแค่ว่า "มีหรือไม่มี" แต่มันไม่รู้ว่า "มีแล้วดีไหม" การเขียน alt="IMG_2847.png" หรือ alt="3/5 ดาว" ซ้ำกัน 5 ครั้งในหน้าเว็บเดียว อาจจะผ่านการตรวจของโปรแกรม แต่สำหรับผู้ใช้งานจริง มันคือความล้มเหลวในการสื่อสาร

ถ้าคุณเป็นโปรแกรมเมอร์มือใหม่ อย่าหลงเชื่อผลลัพธ์จากเครื่องมือเพียงอย่างเดียว การที่โค้ดไม่มี Error (ข้อผิดพลาด) ไม่ได้หมายความว่าโปรแกรมของคุณใช้งานได้ดีจริง คุณต้องฝึกมองข้ามตัวเลขสถิติและหันมาใส่ใจประสบการณ์ของผู้ใช้จริงๆ เสมอ

สร้างกฎการตรวจสอบที่วัดผลได้จริง

การจะวัดว่า Alt text ดีหรือไม่นั้นทำได้ยาก เพราะมันเป็นเรื่องของความรู้สึก แต่เราสามารถสร้างกฎที่ชัดเจนเพื่อตรวจจับสิ่งที่ไม่ควรเกิดขึ้นได้ เช่น การตรวจสอบว่าข้อความนั้นเป็นเพียงชื่อไฟล์ หรือเป็นคำกว้างๆ ที่ไม่มีประโยชน์ เช่นคำว่า "รูปภาพ" หรือ "โลโก้"

เราควรสร้างระบบที่คัดกรองสิ่งเหล่านี้ออกไปโดยไม่ต้องเดา กฎที่ดีต้องเป็นแบบ Deterministic (กฎที่ให้ผลลัพธ์แน่นอนตายตัว) คือถ้าเจอคำแบบนี้ให้แจ้งเตือนทันที เช่น การใช้คำว่า "TODO" หรือ "tbd" (ยังไม่ได้ระบุ) ซึ่งเป็นสัญญาณว่านักพัฒนาลืมกลับมาแก้

นี่คือตัวอย่างการตรวจสอบเบื้องต้นที่คุณสามารถนำไปปรับใช้ในโปรเจกต์ของคุณได้

// ฟังก์ชันตรวจสอบความเหมาะสมของ Alt text เบื้องต้น
function isAltTextBad(altText) {
  const badPatterns = ["image", "logo", "chart", "img_"];
  const lowerAlt = altText.toLowerCase();
  
  // ตรวจสอบว่ามีคำที่ห้ามใช้หรือไม่
  return badPatterns.some(pattern => lowerAlt.includes(pattern));
}

console.log(isAltTextBad("Image of cat")); // ผลลัพธ์: true (ไม่ควรใช้)
console.log(isAltTextBad("Cat playing with yarn")); // ผลลัพธ์: false (ใช้ได้)

ในโค้ดนี้เราสร้างรายการคำต้องห้ามไว้ แล้วใช้ฟังก์ชันตรวจสอบว่าข้อความที่ใส่มามีคำเหล่านั้นหรือไม่ ถ้ามีให้ถือว่า Alt text นั้นยังไม่ดีพอ วิธีนี้จะช่วยกรองความผิดพลาดพื้นฐานออกไปได้มากก่อนที่จะส่งงานจริง

อย่าลืมดูโครงสร้างหน้าเว็บ ไม่ใช่แค่ตัวโค้ด

อีกจุดที่มือใหม่มักพลาดคือการมองข้าม Layout (การจัดวางองค์ประกอบบนหน้าจอ) หลายครั้งเราใส่ Alt text เหมือนกันในรูปภาพที่อยู่คนละมุมของหน้าเว็บ ซึ่งทำให้คนฟังโปรแกรมอ่านหน้าจอสับสนว่าทำไมต้องฟังคำอธิบายเดิมๆ ซ้ำซาก

เราต้องเช็คว่ารูปภาพเหล่านั้นอยู่ใกล้กันแค่ไหน ถ้ามันอยู่ห่างกันมาก การใช้ข้อความเดียวกันก็อาจจะพอรับได้ แต่ถ้ามันอยู่ติดกันจนเหมือนเป็นกลุ่มก้อนเดียวกัน เราควรเขียนให้ต่างกันหรือรวมเป็นคำอธิบายเดียวจะดีกว่า

การเขียนโปรแกรมที่ดีไม่ใช่แค่เขียนตามกฎ แต่ต้องคิดถึงว่าผู้ใช้จะเห็นหน้าจอของเราอย่างไร การทดสอบด้วยการ "ปิดตา" แล้วลองใช้เว็บตัวเองผ่านโปรแกรมอ่านหน้าจอ จะทำให้คุณเข้าใจปัญหาเรื่องนี้ได้ลึกซึ้งขึ้นทันที

ใช้ AI ช่วยตรวจทานแบบมีขอบเขต

เมื่อกฎพื้นฐานเอาไม่อยู่ เราอาจใช้ AI (ปัญญาประดิษฐ์) มาช่วยวิเคราะห์บริบทได้ แต่ต้องระวังไม่ให้ AI ทำตัวเป็น "นักวิจารณ์" ที่คอยแก้ทุกอย่างจนเสียความเป็นตัวตนของผู้เขียน เราควรตั้งเป้าให้ AI ช่วยตัดสินใจตามลำดับขั้นที่กำหนดไว้

ขั้นตอนการใช้ AI ที่ดีคือให้มันตรวจสอบว่ารูปภาพนี้เป็นรูปตกแต่ง หรือรูปที่ให้ข้อมูลสำคัญ ถ้าเป็นรูปตกแต่งก็แนะนำให้เว้นว่างไว้ ถ้าเป็นรูปข้อมูลก็ให้เขียนอธิบายตามบริบทของข้อความรอบข้างแทนที่จะเขียนลอยๆ

จำไว้ว่า AI มีไว้เพื่อช่วย ไม่ใช่ตัดสินแทน หากคุณปล่อยให้ AI ทำงานโดยไม่มีการกำหนดขอบเขต คุณจะเจอปัญหาที่ AI พยายามแก้ข้อความที่ดีอยู่แล้วให้เป็นแบบอื่น จนสุดท้ายคุณจะเลิกใช้เครื่องมือนี้เพราะมันกวนใจเกินไป

สรุป: การเขียน Alt text คือการใส่ใจผู้ใช้

สรุปแล้วการทำ Alt text ให้ผ่านเกณฑ์อัตโนมัติเป็นเรื่องง่าย แต่การทำให้มันมีประโยชน์จริงๆ ต้องอาศัยความใส่ใจ คุณควรเริ่มจากการใช้กฎพื้นฐานคัดกรองคำมั่วๆ ออกไปก่อน แล้วค่อยขยับไปใช้ AI หรือการตรวจสอบเชิงโครงสร้างเมื่อโปรเจกต์ใหญ่ขึ้น

ตัวอย่างการนำไปใช้จริง: หากคุณกำลังทำเว็บแสดงผลงาน (Portfolio) แทนที่จะใส่ alt="โปรเจกต์ 1" ให้เปลี่ยนเป็น alt="ภาพหน้าจอแอปพลิเคชันจัดการตารางเรียนแสดงรายการวิชาที่ลงทะเบียน" ซึ่งจะช่วยให้ผู้ที่มองไม่เห็นเข้าใจว่าแอปของคุณทำอะไรได้บ้าง

การเป็นโปรแกรมเมอร์ที่เก่งไม่ได้วัดกันแค่ว่าคุณเขียนโค้ดได้เร็วแค่ไหน แต่คือการสร้างซอฟต์แวร์ที่ทุกคนเข้าถึงได้ ขอให้เริ่มฝึกตั้งแต่วันนี้ด้วยการใส่ใจรายละเอียดเล็กๆ อย่าง Alt text แล้วคุณจะกลายเป็นนักพัฒนาที่ใครๆ ก็อยากร่วมงานด้วยครับ


ที่มา: Your alt text passes automated checks. That doesn’t mean it’s any good. — The GitHub Blog

แชร์บทความ

Facebook X LINE

บทความที่เกี่ยวข้อง

จัดการเซิร์ฟเวอร์ผ่าน VS Code ให้ง่ายขึ้นด้วย Easy SSH พร้อมฟีเจอร์โหลดไฟล์ผ่านคลิกเดียว

จัดการเซิร์ฟเวอร์ผ่าน VS Code ให้ง่ายขึ้นด้วย Easy SSH พร้อมฟีเจอร์โหลดไฟล์ผ่านคลิกเดียว

เบื่อไหมที่ต้องสลับหน้าจอไปมาเพื่อจัดการเซิร์ฟเวอร์? มาลองใช้ Easy SSH ปลั๊กอิน VS Code ที่ช่วยให้คุณรีโมทผ่าน Terminal ได้สะดวก แถมโหลดไฟล์ได้ง่ายแค่กด Ctrl+click

ที่มา: DEV Community

1 hour ago 11 นาที
2 views
วิธีดึงข้อมูลราคาจาก Google Hotels ด้วย API สำหรับนักพัฒนา

วิธีดึงข้อมูลราคาจาก Google Hotels ด้วย API สำหรับนักพัฒนา

อยากทำแอปท่องเที่ยวแต่ดึงข้อมูลราคาจาก Google Hotels ไม่ได้? มาดูวิธีใช้ Apify Actor ช่วยดึงข้อมูลแบบอัตโนมัติด้วย Python ง่ายๆ ไม่ต้องกลัวเว็บพัง

ที่มา: DEV Community

5 hours ago 8 นาที
3 views
วิธีเช็กความพร้อมโปรเจกต์ก่อนปล่อยงานจริงด้วย ReleaseReady

วิธีเช็กความพร้อมโปรเจกต์ก่อนปล่อยงานจริงด้วย ReleaseReady

เคยไหม? โค้ดรันได้ในเครื่องแต่พอปล่อยจริงกลับพัง! มาดูวิธีตรวจสอบความพร้อมของโปรเจกต์ก่อนอัปขึ้น GitHub ด้วยเครื่องมือ ReleaseReady กัน

ที่มา: DEV Community

9 hours ago 9 นาที
4 views