Web Accessibility Academy · บทเรียน

กด Escape เพื่อปิดและคืนโฟกัส

มอบทางออกที่เชื่อถือได้และนำผู้ใช้กลับไปยังจุดเดิม

บทเรียน 3 จาก 413 ขั้นตอน

กด Escape เพื่อปิดและคืนโฟกัส เป็นบทเรียน Web Accessibility Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Web Accessibility Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Web Accessibility Academy มีบทเรียนทั้งหมด 4 บทเรียน

โมดัลทุกแบบต้องมีทางออก

โมดัลที่ออกไม่ได้ถือเป็นกับดัก ผู้ใช้คาดหวังวิธี ปิด ที่รวดเร็วและเชื่อถือได้ โดยไม่ต้องค้นหาปุ่มเล็ก ๆ

Escape คือปุ่มสากล

ปุ่ม Escape เป็นทางลัดที่ยอมรับร่วมกันสำหรับปิดกล่องโต้ตอบ ผู้ใช้แป้นพิมพ์และโปรแกรมอ่านหน้าจอมักเลือกใช้ปุ่มนี้เป็นอย่างแรก ดังนั้นต้องรองรับเสมอ

dialog แบบเนทีฟจัดการ Escape

dialog แบบเนทีฟที่เปิดด้วย showModal() จะปิดเมื่อกด Escape โดยอัตโนมัติ และส่งเหตุการณ์ยกเลิกที่คุณสามารถรับฟังได้หากจำเป็น

dialog.addEventListener('cancel', onClose);

เชื่อมการทำงานของ Escape ด้วยตนเอง

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

if (e.key === 'Escape') closeModal();

จำตำแหน่งเดิมของโฟกัส

ก่อนเปิดโมดัล ให้บันทึกองค์ประกอบที่มีโฟกัสอยู่ document.activeElement คือทริกเกอร์ที่คุณจะกลับไปหาในภายหลัง

const opener = document.activeElement;

คืนโฟกัสเมื่อปิด

เมื่อโมดัลปิด ให้ส่งโฟกัสกลับไปยังทริกเกอร์ที่บันทึกไว้ ขั้นตอน คืนโฟกัส นี้ทำให้การปิดดูต่อเนื่องเป็นธรรมชาติ

closeModal();
opener.focus();

เหตุใดการคืนโฟกัสจึงสำคัญ

หากไม่คืนโฟกัส โฟกัสจะกระโดดไปด้านบนสุดของหน้า ผู้ใช้จะเสียตำแหน่งเดิมและต้องกด Tab กลับมาใหม่ทั้งหมด ทั้งน่าหงุดหงิดและป้องกันได้ 😕

ควรมีปุ่มปิดที่มองเห็นได้ด้วย

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

<button aria-label="Close dialog">&times;</button>

การคลิกฉากหลัง

โมดัลจำนวนมากปิดลงเมื่อคลิก ฉากหลัง ที่ถูกทำให้มืดลงด้วย นับเป็นส่วนเสริมที่ดี แต่ต้องไม่ใช้แทน Escape หรือปุ่มปิด

ระวังการดำเนินการที่ทำลายข้อมูล

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

ทดสอบกระบวนการทั้งหมด

เปิดด้วยแป้นพิมพ์ กด Escape และตรวจสอบว่าโฟกัสกลับไปยังทริกเกอร์เดิมที่แน่นอน การวนกลับครบรอบนี้คือเป้าหมาย ✅

ตรวจสอบอย่างรวดเร็ว

ผู้ใช้เปิดโมดัลจากปุ่มแล้วกด Escape โฟกัสควรไปอยู่ที่ใด

สรุป: ปิดอย่างราบรื่น

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

เริ่มต้นได้ฟรี

เรียนรู้ HTML ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “กด Escape เพื่อปิดและคืนโฟกัส” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “กด Escape เพื่อปิดและคืนโฟกัส” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Web Accessibility Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Web Accessibility Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “กด Escape เพื่อปิดและคืนโฟกัส”

มอบทางออกที่เชื่อถือได้และนำผู้ใช้กลับไปยังจุดเดิม คุณปฏิบัติ Web Accessibility Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Web Accessibility Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Web Accessibility Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “กด Escape เพื่อปิดและคืนโฟกัส” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Web Accessibility Academy นี้ได้ไหม

ได้ บทเรียน Web Accessibility Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. บทบาทของกล่องโต้ตอบและองค์ประกอบ dialog แบบเนทีฟ
  2. กักโฟกัสไว้ภายในโมดัล
  3. กด Escape เพื่อปิดและคืนโฟกัส
  4. พื้นหลังที่หยุดนิ่งและ aria-modal
← กลับไปที่ Web Accessibility Academy