Web Accessibility Academy · บทเรียน

จัดการ tabindex แบบเลื่อนตำแหน่งในวิดเจ็ต

ให้ปุ่มลูกศรย้ายตำแหน่งภายในตัวควบคุมแบบองค์ประกอบรวม

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

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

จุดหยุดเดียวสำหรับวิดเจ็ตทั้งชุด

ในแถบเครื่องมือหรือกลุ่มปุ่มตัวเลือก การกด Tab ควรไปถึงวิดเจ็ตเพียงครั้งเดียว ไม่ใช่ไปทุกไอเท็ม Roving tabindex คือรูปแบบที่ทำให้ทำเช่นนี้ได้

แนวคิดหลัก

ในแต่ละครั้งจะมีเพียงหนึ่งไอเท็มที่มี tabindex="0" ไอเท็มอื่นทั้งหมดจะได้รับ tabindex="-1" ดังนั้น Tab จะเข้าสู่กลุ่มที่จุดเดียว

การตั้งค่าเริ่มต้น

เมื่อโหลดหน้า ให้กำหนด tabindex="0" ให้ไอเท็มแรกหรือไอเท็มที่เลือกอยู่ และตั้งค่าที่เหลือเป็น tabindex="-1" นี่คือสถานะพักของกลุ่ม

<button tabindex="0">Bold</button>
<button tabindex="-1">Italic</button>

ใช้ปุ่มลูกศรเพื่อเลื่อนภายใน

เมื่อโฟกัสอยู่ภายในกลุ่ม ผู้ใช้จะเลื่อนไปมาระหว่างไอเท็มด้วย ปุ่มลูกศร ไม่ใช่ Tab โดย Tab ยังคงใช้เพื่อออกจากวิดเจ็ตทั้งชุด

ขั้นตอนการเลื่อนโฟกัส

เมื่อกดปุ่มลูกศร ให้ทำสองอย่าง: ตั้งค่าไอเท็มเดิมเป็น -1 และไอเท็มใหม่เป็น 0 จากนั้นเรียกใช้ focus() กับไอเท็มใหม่ 🧭

old.tabIndex = -1;
next.tabIndex = 0;
next.focus();

เหตุใดจึงมีศูนย์เพียงหนึ่งค่า

การคง tabindex="0" ไว้เพียงรายการเดียวทำให้ Tab ไปยังไอเท็มที่ผู้ใช้ใช้ล่าสุดเสมอ ดังนั้นการกลับมายังวิดเจ็ตจึงเป็นธรรมชาติ

ทำตามรูปแบบ APG

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

การวนกลับแบบเลือกใช้

วิดเจ็ตจำนวนมาก วนการเคลื่อนที่ด้วยปุ่มลูกศร: เมื่อกดปุ่มขวาที่รายการสุดท้าย ระบบจะวนกลับไปยังรายการแรก โปรดตรวจสอบ APG ว่ารูปแบบของคุณควรมีการวนหรือไม่

Home และ End ก็ใช้ได้เช่นกัน

วิดเจ็ตแบบประกอบมักเพิ่มปุ่ม Home และ End เพื่อข้ามไปยังรายการแรกและรายการสุดท้าย ซึ่งเป็นรายละเอียดเล็ก ๆ ที่ช่วยให้การนำทางรวดเร็วยิ่งขึ้น

roving กับ aria-activedescendant

roving tabindex จะย้ายโฟกัสจริงของ DOM ส่วนทางเลือกอย่าง aria-activedescendant จะคงโฟกัสไว้ที่คอนเทนเนอร์ และชี้ไปยังรายการที่กำลังทำงานอยู่แบบเสมือน

ทดสอบให้ครบทั้งรอบ

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

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

ในแถบเครื่องมือที่ใช้ roving tabindex ณ ขณะใดขณะหนึ่ง จะมีรายการกี่รายการที่มี tabindex="0"

สรุป

คุณเข้าใจ roving tabindex แล้ว: รายการหนึ่งมีค่าเป็น 0 ส่วนที่เหลือมีค่าเป็น -1 ปุ่มลูกศรจะย้ายค่า 0 ไปมาระหว่างรายการ และ Tab จะเลื่อนผ่านวิดเจ็ตทั้งหมด 🚀

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

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

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

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

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

บทเรียน “จัดการ tabindex แบบเลื่อนตำแหน่งในวิดเจ็ต” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “จัดการ tabindex แบบเลื่อนตำแหน่งในวิดเจ็ต”

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

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

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

บทเรียน “จัดการ tabindex แบบเลื่อนตำแหน่งในวิดเจ็ต” ใช้เวลานานแค่ไหน

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

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

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

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

  1. tabindex 0, -1 และห้ามใช้ค่าบวก
  2. ย้ายโฟกัสหลังการดำเนินการ
  3. คืนโฟกัสเมื่อเลเยอร์ปิดลง
  4. จัดการ tabindex แบบเลื่อนตำแหน่งในวิดเจ็ต
← กลับไปที่ Web Accessibility Academy