🔥 แค่ 5 นาที เปลี่ยนมุมมองได้เลย

เขียนข้อความผิดพลาดอย่างไรให้ดีและเป็นมิตรกับผู้ใช้

ยาวไป อยากเลือกอ่าน?

ข้อความผิดพลาดที่ดีควรระบุสาเหตุอย่างเฉพาะ บอกวิธีแก้ทีละขั้น โทนสุภาพไม่โทษผู้ใช้ วางใกล้จุดที่เกิด อ่านได้ด้วยคีย์บอร์ด/โปรแกรมอ่านหน้าจอ (aria-live, โฟกัส) และบันทึกเทเลเมทรีเพื่อปรับปรุงต่อ; หลีกเลี่ยงรหัสลับ/เทคนิค คำกำกวม หรือการปิดกั้นงาน.

เขียนข้อความผิดพลาดที่ดี (เข้าถึงได้และแก้ได้จริง) — ตัวอย่างโค้ด

สำหรับทีมผลิตภัณฑ์/มาร์เก็ตติ้ง/นักพัฒนา เป้าหมายคือ ช่วยผู้ใช้แก้ปัญหาเร็วที่สุด โดย: อธิบาย “เกิดอะไร” + “ทำอย่างไรต่อ” ด้วยภาษาคน, วางข้อความติดกับฟิลด์/บริบท, ทำให้ โปรแกรมอ่านหน้าจอรับรู้, และ เก็บสัญญาณ เพื่อแก้สาเหตุที่ต้นทาง

ตาราง: ข้อความแย่ vs ข้อความที่ดี (พร้อมเหตุผล)

สถานการณ์ ตัวอย่างที่ไม่ดี ตัวอย่างที่ดี ทำไมดีกว่า
ฟอร์มอีเมล Invalid input อีเมลไม่ถูกต้อง — ใช้รูปแบบ name@domain.com ชี้สาเหตุเฉพาะ + บอกวิธีแก้ทันที
รหัสผ่านสั้น Error: 400-PW รหัสผ่านสั้นเกินไป — อย่างน้อย 8 ตัว รวมตัวเลข 1 ตัว หลีกเลี่ยงรหัสเทคนิค ให้เกณฑ์ชัดเจน
ขัดข้องฝั่งเซิร์ฟเวอร์ Something went wrong ระบบขัดข้องชั่วคราว — ลองอีกครั้งใน 1 นาที หรือ ตรวจสถานะระบบ บอกทางเลือกและการคาดคะเนเวลา
สิทธิ์ไม่พอ Access denied คุณยังไม่มีสิทธิ์เข้าหน้านี้ — ขอสิทธิ์จากผู้ดูแลหรือเข้าสู่ระบบด้วยบัญชีอื่น บอกขั้นตอนถัดไปและผู้รับผิดชอบ

หลักเขียนข้อความผิดพลาด (ยึด UX/WCAG)

  • เฉพาะเจาะจง + ใช้ภาษาคน: บอก “อะไรผิด” และ “ให้ทำอะไรต่อ” ใน 1–2 ประโยค
  • โทนสุภาพ/ไม่โทษผู้ใช้: เน้นร่วมแก้ ไม่ใช่ตำหนิ
  • วางถูกที่: Inline ติดฟิลด์ + Summary ด้านบนที่ลิงก์ไปยังแต่ละฟิลด์
  • เข้าถึงได้ (A11y): ใช้ aria-invalid, aria-describedby, role="alert" หรือ aria-live เพื่อให้โปรแกรมอ่านหน้าจอรับรู้
  • ไม่เปิดเผยข้อมูลอ่อนไหว: หลีกเลี่ยงยืนยันว่า “อีเมลนี้มีบัญชีอยู่แล้ว” บนหน้าล็อกอิน เป็นต้น
  • แก้ที่ต้นเหตุ: วัด error rate ต่อฟิลด์/ขั้นตอน แล้วปรับ UI/validation

ตัวอย่างโค้ด: ฟอร์มที่เข้าถึงได้ + แจ้งเตือนอัตโนมัติ

HTML + ARIA

<form id="signup" novalidate>
  <label for="email">อีเมล</label>
  <input id="email" name="email" type="email" aria-describedby="emailErr">
  <p id="emailErr" class="inline-error" role="alert" aria-live="polite" hidden></p>

  <label for="password">รหัสผ่าน</label>
  <input id="password" name="password" type="password" aria-describedby="pwErr">
  <p id="pwErr" class="inline-error" role="alert" aria-live="polite" hidden></p>
แชร์

Recent Blog

5 ขั้นตอนสร้างเว็บไซต์ E-Commerce ที่ทำให้ยอดขายพุ่งสูงทันที

เคยรู้สึกว่าเว็บไซต์ของคุณไม่ดึงดูดลูกค้าไหม? มาดู 5 ขั้นตอนง่ายๆ ที่จะช่วยแก้ปัญหานี้และทำให้ยอดขายพุ่งสูงขึ้น! อ่านต่อ...

เคล็ดลับการออกแบบเว็บไซต์ด้วย Webflow: เพิ่มความเร็วและประสิทธิภาพทันที
เคล็ดลับการออกแบบเว็บไซต์ด้วย Webflow: เพิ่มความเร็วและประสิทธิภาพทันที

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

5 เหตุผลที่เว็บไซต์ของคุณควรปรับปรุงเพื่อเพิ่มผลลัพธ์ทันที
5 เหตุผลที่เว็บไซต์ของคุณควรปรับปรุงเพื่อเพิ่มผลลัพธ์ทันที

เคยรู้สึกว่าเว็บไซต์ของคุณไม่ดึงดูดลูกค้าไหม? บทความนี้จะช่วยคุณหาวิธีปรับปรุงและทำให้ลูกค้าอยู่ต่อมากขึ้น อ่านต่อ...