Web Accessibility Academy · บทเรียน

บทบาทของกล่องโต้ตอบและองค์ประกอบ dialog แบบเนทีฟ

ระบุเลเยอร์ให้เป็นกล่องโต้ตอบแบบโมดัลที่แท้จริง

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

บทบาทของกล่องโต้ตอบและองค์ประกอบ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

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