- Statut
- Résolu
- Résolu dans
- WPML 4.7
Aperçu de l’anomalie
Il se peut qu’une balise ALT soit manquante pour l’image du drapeau dans le Sélecteur de langue.
Ce n’est pas un bug, c’est un comportement voulu.
Cela permet d’améliorer l’accessibilité du Sélecteur de langue pour les lecteurs d’écran. La balise ALT de l’image n’est pas ajoutée si la balise d’ancrage possède déjà un attribut title. Si un attribut alt est également ajouté, un lecteur d’écran pour un utilisateur malvoyant indiquerait la présence de deux éléments et répéterait la langue deux fois. Cela est fait conformément aux critères WCAG2.1 AA suivants :
Si vous souhaitez avoir une balise ALT sur l’image du drapeau, vous pouvez utiliser la solution de contournement suivante, mais cela n’est pas recommandé si vous souhaitez respecter les Règles pour l’accessibilité des contenus Web.
Solution de contournement
Accédez au répertoire ../wp-content/plugins/sitepress-multilingual-cms/classes/language-switcher/ et modifiez le fichier class-wpml-ls-model-build.php.
Dans ce fichier, remplacez le code suivant :
$ret[ $code ]['flag_alt'] = ( $display_name || $display_native ) ? '' : $data['translated_name'];
par :
$ret[ $code ]['flag_alt'] = ( $display_name || $display_native ) ? $data['native_name'] : $data['translated_name'];
Vous pouvez également envisager de configurer un sélecteur de langue avec des drapeaux uniquement, de cette façon il affichera la balise ALT.