- สถานะ
- แก้ไขแล้ว
- แก้ไขใน
- WPML 4.7
ภาพรวมของปัญหา
คุณอาจพบว่าแท็ก ALT สำหรับรูปธงในตัวสลับภาษาหายไป
นี่ไม่ใช่ข้อบกพร่องและเป็นความตั้งใจในการออกแบบ
สิ่งนี้ทำเพื่อปรับปรุงการเข้าถึงตัวสลับภาษาสำหรับโปรแกรมอ่านหน้าจอ แท็ก ALT สำหรับรูปภาพจะไม่ถูกเพิ่มหากแท็ก anchor มีแอตทริบิวต์ title อยู่แล้ว หากมีการเพิ่มแอตทริบิวต์ alt ลงไปด้วย โปรแกรมอ่านหน้าจอสำหรับผู้บกพร่องทางการมองเห็นจะระบุว่ามีสองรายการอยู่ที่นี่และจะอ่านภาษาซ้ำสองครั้ง สิ่งนี้จัดทำขึ้นตามประเด็นของ WCAG2.1 AA:
หากคุณต้องการให้มีแท็ก ALT บนรูปธง คุณสามารถใช้วิธีแก้ปัญหาชั่วคราวต่อไปนี้ แต่ไม่แนะนำหากคุณต้องการปฏิบัติตาม Web Content Accessibility Guidelines
วิธีแก้ปัญหาชั่วคราว
ไปที่ไดเรกทอรี ../wp-content/plugins/sitepress-multilingual-cms/classes/language-switcher/ และแก้ไขไฟล์ class-wpml-ls-model-build.php
ในไฟล์ดังกล่าว ให้เปลี่ยนโค้ดต่อไปนี้จาก:
$ret[ $code ]['flag_alt'] = ( $display_name || $display_native ) ? '' : $data['translated_name'];
เป็น:
$ret[ $code ]['flag_alt'] = ( $display_name || $display_native ) ? $data['native_name'] : $data['translated_name'];
อีกทางเลือกหนึ่ง คุณสามารถพิจารณาตั้งค่าตัวสลับภาษาให้แสดงเฉพาะธงเท่านั้น ซึ่งวิธีนี้จะทำให้มีการแสดง ALT