บทบาทของกล่องโต้ตอบและองค์ประกอบ dialog แบบเนทีฟ
ระบุเลเยอร์ให้เป็นกล่องโต้ตอบแบบโมดัลที่แท้จริง
บทบาทของกล่องโต้ตอบและองค์ประกอบ dialog แบบเนทีฟ เป็นบทเรียน Web Accessibility Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Web Accessibility Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Web Accessibility Academy มีบทเรียนทั้งหมด 4 บทเรียน
อะไรทำให้กล่องโต้ตอบเป็นกล่องโต้ตอบ
กล่องโต้ตอบคือชั้นที่ขัดจังหวะหน้าเว็บเพื่อรับข้อมูลเข้าหรือแสดงข้อความ ผู้ใช้โปรแกรมอ่านหน้าจอต้องได้รับแจ้งว่านี่คือกล่องโต้ตอบ ไม่ใช่เพียงข้อความที่ลอยอยู่
div ดูเหมือนหน้าต่างโมดัลแต่ไม่ใช่
div ที่ตกแต่งด้วยสไตล์อาจดูเหมือนป๊อปอัป แต่เทคโนโลยีสิ่งอำนวยความสะดวกจะมองเห็นเป็นเนื้อหาทั่วไป หากไม่มีบทบาทที่เหมาะสม ผู้ใช้จะไม่ทราบเลยว่ามีกล่องโต้ตอบเปิดอยู่
<div class="modal">Are you sure?</div>ทำความรู้จักองค์ประกอบกล่องโต้ตอบแบบเนทีฟ
องค์ประกอบ dialog ของ HTML ถูกสร้างมาเพื่องานนี้โดยเฉพาะ โดยมีความหมายเชิงกล่องโต้ตอบในตัว ทำให้โปรแกรมอ่านหน้าจอประกาศได้อย่างถูกต้อง
<dialog>Are you sure?</dialog>เปิดเป็นโมดัลอย่างแท้จริง
เรียกใช้ showModal() ใน JavaScript เพื่อเปิดกล่องโต้ตอบเป็นโมดัลจริง วิธีนี้จะทำให้หน้าที่อยู่ด้านหลังไม่ทำงานและไม่สามารถเข้าถึงได้
document.querySelector("dialog").showModal();show() ไม่ใช่โมดัล
โปรดระวัง: show() จะเปิดกล่องโต้ตอบแบบไม่ใช่โมดัล ดังนั้นหน้าด้านหลังยังคงโต้ตอบได้ หากต้องการกล่องโต้ตอบที่บล็อกหน้าไว้ ให้ใช้ showModal()
dialog.show();บทบาทเบื้องหลัง dialog
ภายใน องค์ประกอบนี้จะถูกจับคู่กับ บทบาท dialog หากจำเป็นต้องสร้างจาก div ให้ใช้ role="dialog" ซึ่งเป็นแอตทริบิวต์ที่ให้ความหมายแก่องค์ประกอบ
<div role="dialog">Settings</div>alertdialog สำหรับตัวเลือกเร่งด่วน
เมื่อกล่องโต้ตอบต้องการคำตอบ เช่น การยืนยันการลบ ให้ใช้ role="alertdialog" ซึ่งจะแจ้งเทคโนโลยีสิ่งอำนวยความสะดวกว่ากรณีนี้มีความเร่งด่วนเป็นพิเศษ
<div role="alertdialog">Delete this file?</div>กล่องโต้ตอบทุกกล่องต้องมีชื่อ
กล่องโต้ตอบต้องมี ชื่อที่เข้าถึงได้ เพื่อให้ผู้ใช้ทราบจุดประสงค์เมื่อเปิดขึ้นมา ให้ชี้ aria-labelledby ไปยังหัวข้อภายในกล่อง
<dialog aria-labelledby="t"><h2 id="t">Confirm</h2></dialog>ปิดด้วยโค้ด
องค์ประกอบเนทีฟนี้มีเมธอด close() ที่สอดคล้องกัน การเรียกใช้จะปิดกล่องโต้ตอบและทำให้หน้าด้านหลังกลับมาเข้าถึงได้อีกครั้ง
dialog.close();ฉากหลังในตัว
กล่องโต้ตอบแบบโมดัลจะมี ฉากหลัง ให้โดยอัตโนมัติ ซึ่งคุณสามารถตกแต่งด้วยองค์ประกอบเสมือน ::backdrop ได้ ฉากหลังนี้จะทำให้หน้ามืดลงและสื่อว่าจุดโฟกัสถูกย้ายแล้ว
dialog::backdrop { background: rgba(0,0,0,0.5); }เหตุใดเนทีฟจึงช่วยลดงาน
dialog แบบเนทีฟจัดการโฟกัส ปุ่ม Escape และการทำให้พื้นหลังไม่ทำงานให้คุณ ดังนั้นการเลือกใช้จึงมีข้อผิดพลาดน้อยกว่าการสร้าง div ขึ้นเอง
ตรวจสอบอย่างรวดเร็ว
คุณต้องการป๊อปอัปยืนยันที่บล็อกหน้าจนกว่าผู้ใช้จะตอบ ควรเรียกใช้คำสั่งใด
สรุป: ใช้กล่องโต้ตอบจริง
คุณได้เรียนรู้ว่าโมดัลต้องมี ความหมายเชิงกล่องโต้ตอบ ควรเลือกใช้ dialog แบบเนทีฟร่วมกับ showModal() ตั้งชื่อให้กล่อง และใช้ alertdialog สำหรับตัวเลือกที่เร่งด่วน
เรียนรู้ HTML ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “บทบาทของกล่องโต้ตอบและองค์ประกอบ dialog แบบเนทีฟ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “บทบาทของกล่องโต้ตอบและองค์ประกอบ dialog แบบเนทีฟ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Web Accessibility Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Web Accessibility Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “บทบาทของกล่องโต้ตอบและองค์ประกอบ dialog แบบเนทีฟ”
ระบุเลเยอร์ให้เป็นกล่องโต้ตอบแบบโมดัลที่แท้จริง คุณปฏิบัติ Web Accessibility Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Web Accessibility Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Web Accessibility Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “บทบาทของกล่องโต้ตอบและองค์ประกอบ dialog แบบเนทีฟ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Web Accessibility Academy นี้ได้ไหม
ได้ บทเรียน Web Accessibility Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บทบาทของกล่องโต้ตอบและองค์ประกอบ dialog แบบเนทีฟ
- กักโฟกัสไว้ภายในโมดัล
- กด Escape เพื่อปิดและคืนโฟกัส
- พื้นหลังที่หยุดนิ่งและ aria-modal