การทำงานร่วมกันปี 2024: Chrome 100% สำหรับพื้นที่มุ่งเน้นการช่วยเหลือพิเศษ

Jocelyn Tran
Jocelyn Tran

ปีนี้ Chrome ผ่านการทดสอบ 88.2% ในส่วนที่เน้นการช่วยเหลือพิเศษ ของ Interop 2024 ในเดือนมิถุนายน 2024 เราเป็นคนแรกที่ ไปให้ถึง 100% ของการทดสอบที่ผ่าน โพสต์นี้อธิบายผลงานที่เกิดขึ้นจนไปถึง เป้าหมายนี้

สิ่งที่รวมอยู่ในด้านที่เน้นการช่วยเหลือพิเศษมีอะไรบ้าง

เช่นเดียวกับทุกด้านที่มุ่งเน้นในการทำงานร่วมกัน 2024 พื้นที่สำหรับการช่วยเหลือพิเศษจะกำหนดโดย ชุดการทดสอบแพลตฟอร์มเว็บสำหรับฟีเจอร์บางอย่าง การทดสอบในเป้าหมายของการทำงานร่วมกันปี 2024 เพื่อให้มั่นใจว่าเบราว์เซอร์ทั้งหมดจะสร้างชื่อที่เข้าถึงได้และบทบาทที่คำนวณได้

ชื่อที่เข้าถึงได้จะสื่อถึงวัตถุประสงค์หรือเจตนาขององค์ประกอบ HTML วิธีนี้ช่วย ผู้ใช้จะเข้าใจว่าองค์ประกอบนี้มีไว้เพื่ออะไรและจะโต้ตอบกับองค์ประกอบได้อย่างไร ข้อกำหนดเกี่ยวกับ accname จะกำหนดวิธีที่เบราว์เซอร์ สร้างสตริงชื่อที่เข้าถึงได้นี้สำหรับองค์ประกอบ ข้อกำหนด ARIA มีคำแนะนำแบบทีละขั้นเกี่ยวกับ ชื่อนี้ ได้รับการคำนวณ

บทบาทที่คำนวณแล้วขององค์ประกอบคือสตริงที่แสดงบทบาทขององค์ประกอบ ที่คำนวณโดยเครื่องมือเบราว์เซอร์ ใช้ในนักพัฒนาซอฟต์แวร์เป็นหลัก เครื่องมือ เช่น ในฟังก์ชัน WebDriver getComputedRole ซึ่งทำให้ ความสามารถในการทำงานร่วมกัน

สิ่งที่ทีม Chrome ต้องทำ

มีงาน 2 ส่วนที่เราต้องทำให้เสร็จคือ เปลี่ยนการทำแผนที่ บทบาททั่วไปและนำบทบาทที่เลิกใช้งานแล้วออก ก็มี การแก้ไขที่เล็กลงและฟีเจอร์ต่างๆ ที่สามารถนำไปใช้ได้เพิ่มเติม นอกเหนือจากบริการต่อไปนี้ ที่ทีม Chrome ทำแล้ว เรายังได้ร่วมมือกับ Microsoft ในการ แก้ไขที่บริษัทยึดมั่นใน Chromium สำหรับด้านที่มุ่งเน้นการช่วยเหลือพิเศษ

เปลี่ยนการแมปสําหรับบางบทบาทเป็นบทบาททั่วไป

การเปลี่ยนการแมปเป็นบทบาททั่วไปจะนำความหมายของการช่วยเหลือพิเศษออกจาก องค์ประกอบทั่วไปไม่ให้คุณค่าแก่โครงสร้างการช่วยเหลือพิเศษ ดังนั้น จะไม่รวมอยู่ในโครงสร้าง ซึ่งจะช่วยเพิ่มประสิทธิภาพและทำให้โครงสร้าง ไฟล์มีขนาดเล็กและแยกวิเคราะห์ได้ง่ายขึ้นสำหรับเทคโนโลยีความช่วยเหลือพิเศษ บทบาทต่อไปนี้ เปลี่ยนเป็นบทบาททั่วไป

  • <header> กําหนดขอบเขตเป็น <main> หรือองค์ประกอบเนื้อหาที่มีการแบ่งส่วน (<article>, <aside>, <nav> หรือ <section>)
  • <footer> กำหนดขอบเขตเป็น <main> หรือ องค์ประกอบเนื้อหาการแบ่งส่วน (<article>, <aside>, <nav> หรือ <section>)
  • <aside> ในองค์ประกอบการแยกส่วน (<article>, <aside>, <nav>, หรือ <section>) ที่ไม่มีชื่อที่เข้าถึงได้
  • <section> ที่ไม่มีชื่อการช่วยเหลือพิเศษ
  • รายการที่ไม่มีเจ้าของ (<li>)

สำหรับหัวข้อย่อย 4 รายการแรก โดยปกติแล้ว องค์ประกอบเหล่านี้จะจับคู่กับ บทบาทจุดสังเกต การมีจุดสังเกต 2 แห่งบนหน้าหนึ่งๆ อาจทำให้ไปยังส่วนต่างๆ ได้ยากขึ้น ดังนั้น ช่วยลดจุดสังเกตที่ซ้ำซ้อน ทำให้ไปยังส่วนต่างๆ ของหน้าเว็บได้ง่ายขึ้น รายการสุดท้ายมักจะระบุข้อผิดพลาดจากนักพัฒนาหน้าเว็บ รายการย่อย ควรอยู่ภายในรายการเสมอ ดังนั้นรายการที่ไม่มีที่มาจะมีลิงก์

นำบทบาทที่เลิกใช้งานแล้วออก

เราเลิกใช้งานบทบาท directory และแมปกับบทบาทในรายการแล้ว ARIA 1.2 การเลิกใช้งาน directory ข้อกำหนดอธิบายว่าเทียบเท่ากับบทบาท list และ นักพัฒนาซอฟต์แวร์ควรใช้ list เพื่อรักษาความหมายของเก่าๆ เนื้อหาที่ใช้ directory ได้แมปกับ list ใน Chrome แล้ว

การแก้ไขอื่นๆ

เราได้เพิ่มการสนับสนุนสำหรับ gridcell บทบาทใหม่นี้ทำให้เกิดความแตกต่างระหว่าง gridcell กับ cell ชัดเจนมากขึ้น gridcell สามารถโฟกัส แก้ไข และเลือกได้ ซึ่งต่างจาก cell

เราได้เพิ่มการคำนวณบทบาทสำรอง ก่อนหน้านี้เราไม่ได้ตรวจหา วิดีโอสำรอง บทบาท ดังนั้นหากบทบาทแรกไม่ถูกต้อง เราจะใช้บทบาทอื่นซึ่งไม่ใช่ รายละเอียดคืออะไร ในข้อกำหนด

บทบาทบางบทบาทจะใช้ได้ก็ต่อเมื่ออยู่ในบริบทที่ถูกต้องเท่านั้น เราจึงเพิ่มการตรวจสอบ สำหรับการใช้บทบาทที่ไม่ถูกต้อง ดังนี้

  • บทบาท row ควรอยู่ใน table, grid, rowgroup หรือ treegrid
  • บทบาท rowgroup ควรอยู่ใน table, grid, tree หรือ treegrid
  • บทบาท listitem ควรอยู่ใน list

หากบทบาทไม่ถูกต้องตอนนี้ Chrome จะใช้ข้อมูลอื่น เช่น HTML เพื่อคำนวณบทบาทสำรอง

เราทำเครื่องหมาย thead และ tfooter ว่ารวมอยู่ในโครงสร้างการช่วยเหลือพิเศษ ก่อนหน้านี้มีการทำเครื่องหมายเป็นละเว้น แต่ยังรวมอยู่ในโครงสร้าง เริ่มเลย เทคโนโลยีความช่วยเหลือพิเศษสามารถแยกวิเคราะห์ส่วนหัวของตารางและส่วนท้ายของตารางได้


แม้ว่านักพัฒนาซอฟต์แวร์ส่วนใหญ่อาจมองไม่เห็นการเปลี่ยนแปลงเหล่านี้ แต่ในทุกเบราว์เซอร์ เพื่อให้แน่ใจว่าสิ่งเหล่านี้จะทำงานในลักษณะเดียวกัน เราจะตรวจสอบว่า บทบาทต่างๆ จะปรากฏในลักษณะเดียวกันในทุกที่