- ステータス
- 解決済み
- 解決されたバージョン
- WPML 4.7
問題の概要
言語スイッチャーの国旗画像にALTタグがない場合があります。
これはバグではなく、仕様です。
これは、スクリーンリーダーにおける言語スイッチャーのアクセシビリティを向上させるためです。アンカータグにすでにtitle属性がある場合、画像のALTタグは追加されません。alt属性も追加すると、視覚障害のあるユーザー向けのスクリーンリーダーがここに2つの項目があることを示し、言語を2回繰り返すことになります。これは、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が表示されます。