Web
เอ้า น้องๆ เคยได้ยินคำว่า Web Accessibility กันบ้างป่าว? ง่ายๆ เลยนะ มันคือการทำให้เว็บไซต์ของเราเนี่ย ใครๆ ก็ใช้ได้ ไม่ว่าจะเป็นคนพิการทางสายตา ทางการได้ยิน หรือแม้แต่คนที่มีปัญหาด้านการเคลื่อนไหว
สมัยผมทำร้านเน็ต SiamCafe เมื่อ 20 กว่าปีก่อน เรื่องพวกนี้แทบไม่มีใครสนใจเลย แต่ยุคนี้มันสำคัญมากๆ เพราะอินเทอร์เน็ตมันคือส่วนหนึ่งของชีวิตประจำวันไปแล้ว เราต้องทำให้ทุกคนเข้าถึงข้อมูลได้เท่าเทียมกัน
ลองคิดดูนะ ถ้าเว็บไซต์ขายของออนไลน์ที่เราทำ มันเข้าถึงยากสำหรับคนตาบอด เค้าจะซื้อของได้ยังไง? หรือถ้าเว็บไซต์หน่วยงานราชการ ไม่รองรับคนที่มีปัญหาด้านการได้ยิน เค้าจะรับรู้ข่าวสารได้ยังไง? นี่แหละคือเหตุผลว่าทำไม Web Accessibility ถึงสำคัญ
ก่อนจะลงมือทำ เรามาปูพื้นฐานกันก่อนนะ จะได้ไม่งง
อันนี้สำคัญสุดๆ คือการใช้ HTML tag ให้ถูกความหมาย เช่น ใช้ <h1> สำหรับหัวข้อหลัก <p> สำหรับย่อหน้า <nav> สำหรับเมนู แทนที่จะใช้ <div> อย่างเดียวไปหมด
สมัยผมหัดเขียนเว็บใหม่ๆ ก็มั่วไปหมดแหละ <div> ลูกเดียว แต่พอมาเจอเรื่อง Accessibility นี่ถึงกับต้องรื้อ code กันใหม่เลยทีเดียว
<header>
<nav>
<ul>
<li><a href="#">หน้าแรก</a></li>
<li><a href="#">เกี่ยวกับเรา</a></li>
<li><a href="#">ติดต่อเรา</a></li>
</ul>
</nav>
</header>
Code snippet ด้านบนแสดงตัวอย่างการใช้ <header> และ <nav> ซึ่งมีความหมายชัดเจนกว่าการใช้ <div> ธรรมดา
ถ้า HTML tag ที่มีอยู่มันไม่พอ เราสามารถใช้ ARIA attributes (Accessible Rich Internet Applications) เพื่อเพิ่มข้อมูลให้กับโปรแกรมอ่านหน้าจอ (screen reader) ได้
เช่น ถ้าเรามีปุ่มที่ทำหน้าที่เปิด/ปิด เราสามารถใช้ aria-expanded เพื่อบอกสถานะของปุ่มนั้นได้
<button aria-expanded="false">เปิด/ปิด เมนู</button>
aria-expanded="false" หมายถึงเมนูยังไม่ถูกเปิด ถ้าเมนูถูกเปิดแล้ว ก็เปลี่ยนเป็น aria-expanded="true"
สีของตัวอักษรกับพื้นหลังต้องมีความ contrast ที่เพียงพอ เพื่อให้คนที่สายตาไม่ดีมองเห็นได้ชัดเจน
สมัยผมทำเว็บแรกๆ ชอบใช้สีฉูดฉาด สีแสบตา เพราะคิดว่ามันสวย แต่จริงๆ แล้วมันทำให้คนอ่านยากมากๆ ตอนนี้เลยต้องระวังเรื่องนี้เป็นพิเศษ
ลองใช้ tools online ที่ช่วยตรวจสอบ contrast ratio ดูนะ มีให้ใช้ฟรีเยอะแยะ
เอาล่ะ มาถึงขั้นตอนการลงมือทำจริงกันบ้าง
<img> ทุกรูปต้องมี alt attribute ที่อธิบายรูปภาพนั้นๆ
ถ้าเป็นรูปตกแต่งเฉยๆ ก็ใส่ alt="" ไปเลย แต่ถ้ารูปนั้นมีความหมาย ต้องอธิบายให้ละเอียด เช่น alt="โลโก้ SiamCafe.net"
<img src="logo.png" alt="โลโก้ SiamCafe.net">
จำไว้ว่าคนตาบอดมองไม่เห็นรูปภาพ เค้าต้องฟังคำอธิบายจากโปรแกรมอ่านหน้าจอ
ตรวจสอบให้แน่ใจว่าเว็บไซต์ของเราสามารถใช้งานได้ด้วยคีย์บอร์ดอย่างเดียว โดยไม่ต้องใช้เมาส์
ลองกด Tab เพื่อเลื่อนไปตาม element ต่างๆ ในหน้าเว็บ แล้วดูว่ามันสมเหตุสมผลมั้ย
ถ้ามี element ที่ไม่สามารถ focus ได้ด้วย keyboard เราต้องแก้ไข code ให้มัน focus ได้
ทุกช่อง input ใน form ต้องมี label ที่บอกว่าช่องนั้นคืออะไร
ใช้ <label> tag ผูกกับ <input> tag ด้วย for attribute
<label for="name">ชื่อ:</label>
<input type="text" id="name" name="name">
การทำแบบนี้จะช่วยให้คนใช้โปรแกรมอ่านหน้าจอรู้ว่าต้องกรอกอะไรลงไปในแต่ละช่อง
ใช้ <h1> ถึง <h6> อย่างถูกต้องตามลำดับ เพื่อสร้างโครงสร้างของเนื้อหา
<h1> คือหัวข้อหลักของหน้า <h2> คือหัวข้อรอง <h3> คือหัวข้อย่อย และไล่ลงไปเรื่อยๆ
อย่าข้ามลำดับ เช่น จาก <h1> ไป <h3> เลย เพราะมันจะทำให้โครงสร้างเนื้อหาไม่สมบูรณ์
ถ้ามี video ในเว็บไซต์ ต้องมี captions หรือคำบรรยายประกอบ เพื่อให้คนที่มีปัญหาด้านการได้ยินสามารถเข้าใจเนื้อหาได้
YouTube มีระบบ auto-generated captions ให้ใช้นะ แต่ควรตรวจสอบความถูกต้องด้วย
จริงๆ แล้ว Web Accessibility มันไม่ใช่แค่เรื่องเทคนิคอย่างเดียวนะ แต่มันคือ mindset คือการคิดถึงผู้ใช้งานทุกคน
บางคนอาจจะมองว่าการทำ Accessibility มันยุ่งยาก เสียเวลา แต่ผมว่ามันคุ้มค่ามากๆ เพราะมันทำให้เว็บไซต์ของเราเป็นมิตรกับทุกคนจริงๆ
แล้วถ้าไม่ทำ Accessibility ล่ะ? ก็อาจจะเสียลูกค้าไป เสียโอกาสทางธุรกิจ หรืออาจจะโดนฟ้องร้องได้ด้วยนะ (อันนี้พูดจริง ไม่ได้ขู่)
| Web Accessibility | ไม่ทำ Web Accessibility | |
|---|---|---|
| ผู้ใช้งาน | ทุกคนเข้าถึงได้ | บางคนเข้าถึงไม่ได้ |
| ธุรกิจ | เพิ่มโอกาสทางธุรกิจ | เสียโอกาสทางธุรกิจ |
| กฎหมาย | ถูกต้องตามกฎหมาย | อาจผิดกฎหมาย |
| ภาพลักษณ์ | ภาพลักษณ์ที่ดี | ภาพลักษณ์ที่ไม่ดี |
เห็นมั้ยว่า Web Accessibility มันมีแต่ข้อดี ลองเอาไปปรับใช้กันดูนะน้องๆ ถ้ามีคำถามอะไรเพิ่มเติม ถามมาได้เลย ที่ SiamCafe Blog มีบทความอีกเยอะแยะ
อย่าลืมว่าการทำ Web Accessibility มันคือการลงทุนเพื่ออนาคต SiamCafe Blog ยังมีบทความดีๆ อีกเพียบ
เฮ้ย! มาต่อกันเรื่อง Web Accessibility นะน้องๆ สมัยผมทำร้านเน็ต SiamCafe เนี่ย, คนที่เข้ามาใช้ก็มีหลากหลาย บางคนสายตาไม่ค่อยดี, บางคนใช้เมาส์ไม่คล่อง, บางคนก็ใช้โปรแกรมอ่านหน้าจอ ผมเลยต้องใส่ใจเรื่องพวกนี้เป็นพิเศษ ไม่งั้นลูกค้าหายหมด
Accessibility ไม่ใช่แค่เรื่อง "ทำให้มันใช้ได้" แต่มันคือการ "ทำให้ทุกคนใช้ได้ดี" ต่างหาก! คิดง่ายๆ เหมือนทำอาหาร, ไม่ใช่แค่ทำให้อิ่ม, แต่ต้องอร่อยด้วย!
1. Alt Text คือเพื่อนแท้: น้องๆ หลายคนชอบละเลย alt text ใน tag <img> รู้ไหมว่ามันสำคัญขนาดไหน? สมัยก่อนเน็ตช้า, รูปไม่ขึ้น, alt text นี่แหละช่วยชีวิต! คนที่ใช้โปรแกรมอ่านหน้าจอก็จะได้ยินคำอธิบายรูปภาพแทนที่จะเห็นรูปเปล่าๆ
<img src="cat.jpg" alt="แมวสีส้มนั่งอยู่บนพื้นหญ้า">
2. Semantic HTML ช่วยได้เยอะ: ใช้ <header>, <nav>, <article>, <aside>, <footer> ให้เป็นเรื่องเป็นราว อย่าใช้ <div> รัวๆ เพราะมันไม่มีความหมายอะไรเลย การใช้ Semantic HTML ทำให้โปรแกรมอ่านหน้าจอเข้าใจโครงสร้างเว็บเราได้ง่ายขึ้น
<header>
<h1>SiamCafe.net</h1>
</header>
<nav>
<a href="#">หน้าแรก</a>
<a href="#">บทความ</a>
</nav>
3. สีสันสำคัญ แต่ต้องไม่ทำร้ายใคร: เลือกสีที่ contrast กันชัดเจน อย่าใช้สีที่ใกล้เคียงกันเกินไป เพราะคนที่มีปัญหาเรื่องสีจะมองไม่เห็น สมัยก่อนผมเคยเจอเคสลูกค้าบ่นว่าอ่านตัวอักษรบนเว็บไม่เห็น เพราะสี background กับสีตัวอักษรมันกลืนกันไปหมด
4. Keyboard Navigation ก็สำคัญนะ: เว็บที่ดีต้องใช้แค่ keyboard ก็ navigate ได้หมด ไม่ใช่ทุกคนที่ใช้เมาส์ได้คล่อง ลองกด Tab ดูสิว่า focus มันวนไปถูกที่ถูกทางหรือเปล่า
สำคัญสิ! Google ชอบเว็บที่ user-friendly แล้ว Accessibility ก็เป็นส่วนหนึ่งของ user experience ถ้าเว็บเราเข้าถึงง่าย, Google ก็ให้คะแนนดี
ทำตั้งแต่เริ่มดีกว่า! เหมือนสร้างบ้าน, วางรากฐานดีๆ จะแข็งแรงกว่ามาซ่อมทีหลัง แก้ทีหลังมันยากกว่าเยอะ แถมเสียเวลาด้วย
มีเยอะแยะ! อย่างง่ายสุดก็ใช้ Accessibility Insights ของ Microsoft หรือจะใช้ Lighthouse ใน Chrome DevTools ก็ได้ หรือถ้าอยาก advanced หน่อยก็มีพวก screen reader อย่าง NVDA หรือ VoiceOver
WCAG (Web Content Accessibility Guidelines) คือมาตรฐานสากลที่เขาใช้กันทั่วโลก เปรียบเหมือนคู่มือทำอาหารระดับ Michelin Star ถ้าทำตาม WCAG ก็มั่นใจได้ว่าเว็บเรา Accessibility ดีแน่นอน
Web Accessibility ไม่ใช่เรื่องยากเย็นอะไร แค่ใส่ใจรายละเอียดนิดหน่อย คิดถึงผู้ใช้งานทุกคน ไม่ว่าเขาจะเป็นใคร, มีความสามารถอะไร ก็สามารถเข้าถึงเว็บเราได้ iCafeForex ก็ให้ความสำคัญกับเรื่องนี้มากๆ เพราะเราอยากให้ทุกคนเข้าถึงข้อมูลการลงทุนได้ง่ายๆ
จำไว้ว่า Accessibility คือการลงทุนระยะยาว ที่จะทำให้เว็บเราเป็นที่รักของทุกคน อย่าลืมแวะไปอ่านบทความอื่นๆ ที่ SiamCafe Blog นะครับ มีเรื่อง IT อีกเยอะแยะที่น่าสนใจ