- Статус
- Решено
- Решено в
- WPML 4.7
Обзор проблемы
Возможно, у Вас отсутствует тег ALT для изображения флага в переключателе языков.
Это не ошибка, так и задумано.
Это сделано для улучшения доступности переключателя языков для программ чтения с экрана. Тег ALT для изображения не добавляется, если у тега ссылки уже есть атрибут title. Если также добавить атрибут alt, программа чтения с экрана для слабовидящих пользователей укажет на наличие двух элементов и повторит язык дважды. Это сделано в соответствии с критериями WCAG2.1 AA:
Если Вы хотите добавить тег ALT для изображения флага, Вы можете использовать следующее обходное решение, но это не рекомендуется, если Вы хотите следовать Руководству по обеспечению доступности веб-контента.
Обходное решение
Перейдите в каталог ../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.