เครื่องมือสร้างสปินเนอร์ CSS ที่เข้าถึงได้

ถัดไป

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

วิธีทำให้สปินเนอร์เข้าถึงได้

  1. 1

    สร้างวงกลม

    ตั้งขนาด ความหนา สี และความเร็วในเครื่องมือ แล้วคัดลอก CSS

  2. 2

    ตรวจสอบความคมชัดของสี

    เลือกสีของส่วนโค้งที่เด่นชัดทั้งบนแทร็กสีเทาอ่อนและบนพื้นหลังของหน้า

  3. 3

    เพิ่มมาร์กอัปสถานะ

    ใส่ role และป้ายข้อความให้องค์ประกอบของสปินเนอร์ ตามที่แสดงในหน้านี้

  4. 4

    เพิ่มกฎลดการเคลื่อนไหว

    วางคิวรีสื่อด้านล่างลงไปใต้ CSS ที่สร้างขึ้น

CSS ที่สร้างขึ้นครอบคลุมอะไรและไม่ครอบคลุมอะไร

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

มาร์กอัปที่ประกาศสถานะ

<div class="loader" role="status" aria-label="กำลังโหลดผลลัพธ์"></div>

role="status" ทำให้องค์ประกอบนี้เป็นพื้นที่แบบไลฟ์ ซึ่งโปรแกรมอ่านหน้าจอหลายตัวจะอ่านป้ายข้อความเมื่อองค์ประกอบปรากฏ ค่า aria-label ควรบอกว่ากำลังโหลดอะไร เช่น “กำลังโหลดผลลัพธ์” หรือ “กำลังบันทึก” แทนที่จะใช้คำทั่วไป เมื่องานเสร็จ ให้ลบองค์ประกอบออกและแสดงเนื้อหาใหม่

คุณยังวางข้อความที่มองเห็นได้ไว้ข้างวงกลมได้ด้วย ข้อความที่มองเห็นได้ช่วยทุกคน รวมถึงผู้ที่มองเห็นการเคลื่อนไหวได้ไม่ชัด

เคารพการลดการเคลื่อนไหว

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

@media (prefers-reduced-motion: reduce) {
  .loader {
    animation-duration: 3s;
  }
}

กฎนี้ทำให้การหมุนช้าลงแทนที่จะหยุดลง สปินเนอร์จึงยังดูมีชีวิต โดยไม่มีการเคลื่อนไหวที่รวดเร็ว หากคุณต้องการสัญญาณนิ่ง ให้ใช้ animation: none; และแสดงข้อความ “กำลังโหลด” ข้างวงกลม

รายการตรวจสอบคอนทราสต์และขนาด

รายการ เป้าหมาย
ส่วนโค้งเทียบกับหน้า มองเห็นได้ชัด ควรมีอัตราส่วนคอนทราสต์ 3:1 ขึ้นไป
ส่วนโค้งเทียบกับแทร็กสีเทา แตกต่างชัดเจน เพื่อให้ตามส่วนโค้งได้
ขนาด อย่างน้อย 24 px สำหรับสิ่งที่ผู้เข้าชมต้องสังเกตเห็น
ความเร็ว 0.8 ถึง 1.5 วินาทีต่อหนึ่งรอบ

ข้อจำกัด

  • เครื่องมือเลือกสีแทร็ก (#eee) ให้คุณ แก้ไขในโค้ด CSS ที่วางไว้หากพื้นหลังของหน้าใกล้เคียงกัน
  • ค่าความเร็วที่เร็วมากทำให้วงกลมกะพริบ หลีกเลี่ยงค่าที่ต่ำกว่าประมาณ 0.5 วินาที
  • อย่าพึ่งพาสปินเนอร์เพียงอย่างเดียวเมื่อต้องรอนาน ๆ ให้บอกผู้เข้าชมเป็นข้อความว่ากำลังเกิดอะไรขึ้น

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

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

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

ได้ก็ต่อเมื่อเพิ่มมาร์กอัปแล้วเท่านั้น องค์ประกอบว่างเปล่าจะไม่มีเสียง จึงควรใส่ role=“status” และ aria-label ที่อธิบายได้ชัดเจน

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

ทำได้ทั้งสองแบบ การทำให้ช้าลงยังคงให้ความรู้สึกว่ามีการทำงาน ส่วนการหยุดเป็นตัวเลือกที่ปลอดภัยที่สุด หากคุณแสดงข้อความอย่าง “กำลังโหลด” ควบคู่ไปด้วย

อธิบายการกระทำด้วยคำง่าย ๆ เช่น “กำลังโหลดผลลัพธ์” หรือ “กำลังบันทึกการเปลี่ยนแปลง” หลีกเลี่ยงป้ายที่คลุมเครืออย่าง “สปินเนอร์”

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

เครื่องมือที่เกี่ยวข้อง

ตัวสร้างการตั้งค่า Webpack

สร้าง webpack.config.js สำหรับ webpack 5 ทั้งแบบ JavaScript ล้วน React หรือ Vue พร้อม TypeScript, Babel, CSS หรือ Sass, รูปภาพ, HtmlWebpackPlugin, เซิร์ฟเวอร์สำหรับพัฒนา และคำสั่ง npm install

เครื่องแปลงฐานตัวเลข

แปลงตัวเลขระหว่างฐานสอง ฐานแปด ฐานสิบ ฐานสิบหก และฐานกำหนดเองตั้งแต่ 2 ถึง 36 พร้อมการแยกค่าประจำหลัก

ตัวแปลง Timestamp

แปลง timestamp ของ Unix ในหน่วยวินาทีหรือมิลลิวินาทีเป็นวันที่ที่อ่านง่ายในเขตเวลา UTC และเขตเวลาหลัก และแปลงวันที่กลับเป็นค่า epoch

อ้างอิงตัวอักษร HTML

รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ

ตารางอ้างอิง ASCII

ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL

เครื่องสุ่มที่อยู่

สร้างระเบียนคล้ายที่อยู่ 1–20 รายการสำหรับแบบจำลองและการทดสอบ ด้วยรูปแบบประเทศแบบย่อ

เครื่องมือนี้มีให้บริการในภาษาอื่น

คู่มือและกรณีการใช้งาน