กด Escape เพื่อปิดและคืนโฟกัส
มอบทางออกที่เชื่อถือได้และนำผู้ใช้กลับไปยังจุดเดิม
กด 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">×</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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บทบาทของกล่องโต้ตอบและองค์ประกอบ dialog แบบเนทีฟ
- กักโฟกัสไว้ภายในโมดัล
- กด Escape เพื่อปิดและคืนโฟกัส
- พื้นหลังที่หยุดนิ่งและ aria-modal