Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> เบราว์เซอร์

สร้างส่วนขยายเบราว์เซอร์ที่ครอบคลุม:การออกแบบการเข้าถึงแบบทีละขั้นตอน

สร้างส่วนขยายเบราว์เซอร์ที่ครอบคลุม:การออกแบบการเข้าถึงแบบทีละขั้นตอน

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

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

ในบทความนี้ เราจะตรวจสอบส่วนขยายเบราว์เซอร์ Chrome เพื่อหาปัญหาด้านการเข้าถึงและเปลี่ยนให้เป็นประสบการณ์ที่ครอบคลุมซึ่งเหมาะกับทุกคน

สารบัญ

  • เหตุใดการเข้าถึงจึงมีความสำคัญในส่วนขยายเบราว์เซอร์

  • วิธีดำเนินการทดสอบการเข้าถึงส่วนขยายเบราว์เซอร์ด้วยตนเอง

  • วิธีใช้การปรับปรุงการเข้าถึงส่วนขยายเบราว์เซอร์

  • วิธีดำเนินการทดสอบการเข้าถึงส่วนขยายเบราว์เซอร์อัตโนมัติ

  • แนวทางปฏิบัติที่ดีที่สุดสำหรับส่วนขยายเบราว์เซอร์ที่สามารถเข้าถึงได้

  • บทสรุป

เหตุใดการเข้าถึงจึงมีความสำคัญในส่วนขยายเบราว์เซอร์

ทุกการคลิกในส่วนขยายเบราว์เซอร์ของคุณเป็นโอกาสในการเพิ่มศักยภาพให้กับผู้ใช้หรือยกเว้นพวกเขาหากการเข้าถึงไม่ได้เป็นส่วนหนึ่งของการออกแบบของคุณ

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

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

สร้างส่วนขยายเบราว์เซอร์ที่ครอบคลุม:การออกแบบการเข้าถึงแบบทีละขั้นตอน

สำหรับส่วนขยายเบราว์เซอร์ อุปสรรคในการเข้าถึงมักปรากฏดังนี้:

  • ทางตันของการนำทางด้วยแป้นพิมพ์ :ป๊อปอัปและอินเทอร์เฟซที่ดักจับหรือยกเว้นผู้ใช้แป้นพิมพ์

  • การโต้ตอบแบบเงียบ :ไม่มีป้ายกำกับและคำอธิบาย เช่น ปุ่มที่มีเพียงไอคอนที่โปรแกรมอ่านหน้าจอประกาศเป็น "ปุ่มที่ไม่มีป้ายกำกับ" ทำให้ผู้ใช้คาดเดาถึงจุดประสงค์ของปุ่มได้

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

  • ข้อขัดแย้งในการรวมบริบท :ส่วนขยายที่แก้ไขหน้าเว็บที่มีอยู่อาจทำให้คุณลักษณะการเข้าถึงของหน้าเสียหายหรือแนะนำองค์ประกอบที่ขัดแย้งกับรูปแบบการนำทางที่กำหนดไว้

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

วิธีดำเนินการทดสอบการเข้าถึงส่วนขยายเบราว์เซอร์ด้วยตนเอง

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

การทดสอบการนำทางด้วยแป้นพิมพ์

ถอดเมาส์ออกแล้วลองใช้ส่วนขยายโดยใช้แป้นพิมพ์เท่านั้น นำทางโดยใช้ 06 เพื่อย้ายไปมาระหว่างองค์ประกอบ 14 หรือ 27 เพื่อเปิดใช้งานปุ่ม และปุ่มลูกศรภายในส่วนประกอบ

  • ชัดเจนเสมอหรือไม่ว่าองค์ประกอบใดมีโฟกัส

  • คุณสามารถเปิดใช้งานปุ่มด้วย 39 หรือ 46 ตามที่คาดไว้?

  • ผู้ใช้สามารถออกจากกล่องโต้ตอบโมดอลหรือเมนูแบบเลื่อนลงได้หรือไม่

หากคุณพบทางตันหรือจุดสับสน ผู้ใช้แป้นพิมพ์ก็จะเผชิญกับอุปสรรคเดียวกัน

สร้างส่วนขยายเบราว์เซอร์ที่ครอบคลุม:การออกแบบการเข้าถึงแบบทีละขั้นตอน

การประเมินโปรแกรมอ่านหน้าจอ

ใช้โปรแกรมอ่านหน้าจอในตัวของระบบปฏิบัติการเพื่อนำทางส่วนขยายของคุณและฟังสิ่งที่ประกาศ บน macOS ให้เปิดใช้งาน VoiceOver; บน Windows ให้ใช้โปรแกรมผู้บรรยาย บน Linux ลองใช้ Orca

  • วัตถุประสงค์ของแต่ละองค์ประกอบมีความชัดเจนหรือไม่ เช่น ปุ่มที่ประกาศว่า "สร้างคำแนะนำใหม่" แทนที่จะเป็นเพียง "ปุ่ม"

  • มีการถ่ายทอดส่วนหัว รายการ และโครงสร้างอื่นๆ อย่างเหมาะสมหรือไม่

  • ผู้ใช้เข้าใจหรือไม่เมื่อมีการโหลด เลือก หรือเปลี่ยนแปลงเนื้อหา

ขั้นตอนการทดสอบนี้มักจะเปิดเผยช่องว่างระหว่างสิ่งที่คุณตั้งใจจะสื่อสารและสิ่งที่เข้าถึงผู้ใช้จริงๆ

การตรวจสอบการเข้าถึงด้วยภาพ

ตรวจสอบส่วนขยายของคุณในบริบทภาพต่างๆ ใช้เครื่องมือสำหรับนักพัฒนา เช่น Contrast Checker ของ WebAIM เพื่อตรวจสอบว่าข้อความตรงตามอัตราส่วนคอนทราสต์ 4.5:1 ของ WCAG เพื่อให้อ่านง่าย ทดสอบว่าส่วนขยายของคุณปรากฏในการตั้งค่าคอนทราสต์สูงของระบบอย่างไร ตรวจสอบให้แน่ใจว่า:

  • ฟังก์ชันการทำงานยังคงใช้งานได้เมื่อซูม 200%

  • ข้อมูลไม่ได้ถูกถ่ายทอดผ่านสีเพียงอย่างเดียว เช่น การใช้ป้ายข้อความควบคู่ไปกับตัวบ่งชี้รหัสสี

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

วิธีใช้การปรับปรุงการเข้าถึงส่วนขยายเบราว์เซอร์

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

  • ป้ายกำกับปุ่มหายไป :ปุ่มลูกเต๋ามีเพียงรูปภาพที่มีข้อความแสดงแทน "ไอคอนลูกเต๋า" ซึ่งขาดคุณสมบัติที่โปรแกรมอ่านหน้าจอบริบทต้องการ

  • การอัปเดตไดนามิกแบบเงียบ :เมื่อมีการโหลดคำแนะนำใหม่ โปรแกรมอ่านหน้าจอจะไม่ทราบว่าเนื้อหามีการเปลี่ยนแปลง

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

มาแก้ไขปัญหาก่อนทำการทดสอบอัตโนมัติกัน

วิธีแก้ไขป้ายกำกับปุ่มที่หายไปและข้อความแสดงแทน

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

<!--Before: Unclear Button Purpose and icon alt text-->
<button class="dice-button" id="generate-advice-btn">
 <img src="/icons/icon-dice.png" alt="Dice icon">
</button>
<!--After: Clear, Accessible Button and icon alt text-->
<button class="dice-button" id="generate-advice-btn" aria-label="Generate new advice">
 <img src="/icons/icon-dice.png" alt="A dice icon with green background" role="presentation">
</button>

วิธีจัดการกับการอัปเดตไดนามิกแบบเงียบ

เราจะเพิ่ม 71 เพื่อให้โปรแกรมอ่านหน้าจอประกาศคำแนะนำใหม่และ 86 เพื่อให้แน่ใจว่าได้อ่านใบเสนอราคาทั้งหมดแล้ว นั่นคือ:

<!--Before: Silent Dynamic Updates-->
<p class="advice-quote" id="advice-quote">
 "It is easy to sit up and take notice, what's difficult is getting up and taking action."
</p>
<!--After: Announced Content Changes-->
<p class="advice-quote" id="advice-quote" aria-live="polite" aria-atomic="true">
 "It is easy to sit up and take notice, what's difficult is getting up and taking action."
</p>

วิธีจัดการกับสถานะที่ไม่มีการโหลด

เราจะเพิ่ม 90 ฟังก์ชั่นเพื่อแสดงตัวบ่งชี้การโหลด เพื่อให้มั่นใจว่าผู้ใช้โปรแกรมอ่านหน้าจอจะได้รับการแจ้งเตือนเมื่อมีการดึงเนื้อหา:

// Before: No Loading Feedback
function requestNewAdvice() {
 chrome.runtime.sendMessage({ action: "fetchAdvice" }, (response) => {
 // No loading indicators...
 });
}
// After: Accessible Loading States
function requestNewAdvice() {
 setLoadingState(true); 
 chrome.runtime.sendMessage({ action: "fetchAdvice" }, (response) => {
 setLoadingState(false);
 // Handle response with proper announcements...
 });
}
function setLoadingState(isLoading) {
 if (isLoading) {
 // Disable button and show loading text
 generateAdviceBtn.disabled = true;
 generateAdviceBtn.setAttribute('aria-label', 'Loading new advice...');
 // Show loading text in the advice quote element
 adviceQuoteElement.textContent = "Loading new advice...";
 } else {
 // Re-enable button
 generateAdviceBtn.disabled = false;
 generateAdviceBtn.setAttribute('aria-label', 'Generate new advice');
 }
}

เมื่อแก้ไขปัญหาการทดสอบด้วยตนเองแล้ว ขณะนี้เราสามารถดำเนินการทดสอบส่วนขยายเดียวกันโดยอัตโนมัติได้

วิธีทดสอบการเข้าถึงส่วนขยายเบราว์เซอร์อัตโนมัติ

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

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

สร้างส่วนขยายเบราว์เซอร์ที่ครอบคลุม:การออกแบบการเข้าถึงแบบทีละขั้นตอน

วิธีใช้เครื่องมือตรวจสอบการเข้าถึงส่วนขยาย:

  1. บีบอัดโฟลเดอร์ส่วนขยายเบราว์เซอร์ของคุณให้เป็นไฟล์ .zip

  2. อัปโหลดไฟล์ .zip บน https://extensiona11ychecker.vercel.app/

  3. ตรวจสอบรายงานที่สร้างขึ้นสำหรับการละเมิดการเข้าถึงที่เฉพาะเจาะจง และใช้การแก้ไขที่แนะนำ

ดังที่แสดงใน GIF ด้านบน ขั้นตอนการทำงานนี้ช่วยสร้างการเข้าถึงให้เป็นส่วนหนึ่งของกระบวนการพัฒนาของคุณเป็นประจำ แทนที่จะเป็นสิ่งที่ต้องคำนึงถึงในภายหลัง

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

แนวทางปฏิบัติที่ดีที่สุดสำหรับส่วนขยายเบราว์เซอร์ที่สามารถเข้าถึงได้

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

จากการปรับปรุงของเรา ต่อไปนี้เป็นหลักการสำคัญสี่ประการในการออกแบบส่วนขยายเบราว์เซอร์ที่สามารถเข้าถึงได้:

  1. ความหมาย HTML และป้ายกำกับที่ชัดเจน

เริ่มต้นด้วยโครงสร้าง HTML ที่เหมาะสมเสมอ โดยใช้องค์ประกอบที่เหมาะสม (เช่น สำหรับการดำเนินการ "สร้างคำแนะนำ" ลำดับชั้นของส่วนหัวที่เหมาะสม) ก่อนที่จะเพิ่มแอตทริบิวต์ ARIA

ตรวจสอบให้แน่ใจว่าองค์ประกอบเชิงโต้ตอบทุกรายการมีวัตถุประสงค์ที่ชัดเจนผ่าน 103 , 115 หรือข้อความที่มองเห็นได้ซึ่งอธิบายการกระทำ

  1. การสื่อสารที่ชัดเจนทุกขั้นตอน

องค์ประกอบเชิงโต้ตอบทุกชิ้นจะต้องสื่อถึงวัตถุประสงค์อย่างมีประสิทธิภาพ ผู้ใช้จำเป็นต้องเข้าใจ:

    • เกิดอะไรขึ้น (เช่น “กำลังโหลดคำแนะนำใหม่…” สำหรับสถานะการโหลด)

      • เกิดอะไรขึ้น (เช่น “ไม่สามารถโหลดคำแนะนำ” สำหรับข้อผิดพลาด)

      • สิ่งที่เปลี่ยนแปลงไป (เช่น ภูมิภาค aria-live สำหรับเนื้อหาที่อัปเดต)

  1. การเข้าถึงคีย์บอร์ดที่สมบูรณ์

ฟังก์ชันการทำงานทั้งหมดต้องใช้งานได้ผ่านการนำทางด้วยแป้นพิมพ์ สิ่งนี้ต้องมีการทดสอบด้วย 122 , 135 , 142 และปุ่มลูกศรตามความเหมาะสม

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

  1. การตั้งค่าผู้ใช้และการพิจารณาสคริปต์เนื้อหา

เคารพตัวเลือกของผู้ใช้โดยรองรับการตั้งค่าขนาดแบบอักษรของระบบ และไม่แทนที่รูปแบบสีที่ผู้ใช้กำหนดโดยไม่จำเป็น

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

บทสรุป

ดังที่เราได้เห็นในส่วนขยายการสร้างคำแนะนำของเรา การจัดการกับปัญหาด้านการเข้าถึงได้เปลี่ยนเครื่องมือที่ใช้งานได้ให้กลายเป็นเครื่องมือที่ครอบคลุม

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

เมื่อเริ่มต้นโครงการส่วนขยายเบราว์เซอร์ถัดไปของคุณ ให้ถาม:

  • ใครบางคนจะนำทางสิ่งนี้โดยใช้เพียงคีย์บอร์ดได้อย่างไร

  • จุดประสงค์ขององค์ประกอบเชิงโต้ตอบทุกรายการชัดเจนต่อโปรแกรมอ่านหน้าจอหรือไม่

  • ผู้ใช้จะเข้าใจสิ่งที่เกิดขึ้นระหว่างสถานะการโหลดได้อย่างไร

นี่คือแหล่งข้อมูลที่เป็นประโยชน์บางส่วน

  • เอกสารการเข้าถึงส่วนขยายของ Chrome

  • ตัวตรวจสอบการเข้าถึงส่วนขยาย

  • แนวทางการเข้าถึงเนื้อหาเว็บ (WCAG) 2.1

เรียนรู้การเขียนโค้ดฟรี หลักสูตรโอเพ่นซอร์สของ freeCodeCamp ช่วยให้ผู้คนมากกว่า 40,000 คนได้งานในตำแหน่งนักพัฒนา เริ่มต้น