เครื่องมือสร้างสปินเนอร์ CSS ที่เข้าถึงได้
วงกลมที่หมุนไม่มีความหมายสำหรับผู้ที่ใช้โปรแกรมอ่านหน้าจอ และการเคลื่อนไหวต่อเนื่องอาจรบกวนผู้ที่ไวต่อการเคลื่อนไหว สร้างสปินเนอร์ที่นี่ แล้วเพิ่มมาร์กอัปและกฎลดการเคลื่อนไหวที่แสดงด้านล่าง
วิธีทำให้สปินเนอร์เข้าถึงได้
-
1
สร้างวงกลม
ตั้งขนาด ความหนา สี และความเร็วในเครื่องมือ แล้วคัดลอก CSS
-
2
ตรวจสอบความคมชัดของสี
เลือกสีของส่วนโค้งที่เด่นชัดทั้งบนแทร็กสีเทาอ่อนและบนพื้นหลังของหน้า
-
3
เพิ่มมาร์กอัปสถานะ
ใส่ role และป้ายข้อความให้องค์ประกอบของสปินเนอร์ ตามที่แสดงในหน้านี้
-
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 รายการสำหรับแบบจำลองและการทดสอบ ด้วยรูปแบบประเทศแบบย่อ
เครื่องมือนี้มีให้บริการในภาษาอื่น
- Generator dostępnego spinera CSS [PL]
- Trình tạo CSS spinner có khả năng truy cập [VI]
- Generator CSS Spinner yang Aksesibel [ID]
- مولّد دوّامة CSS يمكن الوصول إليها [AR]
- Barrierefreier CSS-Spinner Generator [DE]
- アクセシブルなCSSスピナー ジェネレーター [JA]
- Gerador de spinner CSS acessível [PT]
- Generador de spinner CSS accesible [ES]
- 접근성 있는 CSS 스피너 생성기 [KO]
- Generator för tillgänglig CSS-spinner [SV]
- Générateur de spinner CSS accessible [FR]
- Toegankelijke CSS-spinner generator [NL]
- Accessible CSS Spinner Generator [EN]
- Generatore di spinner CSS accessibile [IT]
- Генератор доступного CSS-спиннера [RU]
- Erişilebilir CSS Spinner Oluşturucu [TR]
- 无障碍 CSS 加载动画生成器 [ZH]