
Отсутствие или неправильность атрибутов alt у изображений негативно сказываются как на доступности, так и на поисковой оптимизации (SEO). Эти проблемы проявляются массово после миграций контента, а также в повседневной работе с контентом: когда поле alt настроено как необязательное (по ошибке конфигурации или по явной просьбе заказчика), либо когда изображение должно быть декоративным и не требует текстового описания.
Image Alt Fallback — это модуль для Drupal, который автоматически заполняет отсутствующие атрибуты alt на основе настраиваемых правил (например, использовать метку родительской сущности или пометить как декоративное) для каждого типа контента и поля, не требуя при этом написания ни единой строчки кода. В этой статье рассматривается, почему эта проблема важна для соответствия стандартам WCAG и SEO, когда стоит использовать модуль и какие детали конфигурации необходимы для его настройки.
Цена отсутствия атрибутов alt для изображений в контексте доступности и SEO
Пустые атрибуты alt наносят удар по доступности и SEO, причем ущерб можно измерить. Инструмент Google Lighthouse выставляет ошибку в обоих своих проверках: отнимая до 6 баллов из оценки Доступности и 8 баллов из оценки SEO.
Влияние на реальных пользователей даже хуже, чем показатели в отчете. Программа чтения с экрана полностью игнорирует изображение без атрибута alt, поэтому пользователи с нарушениями зрения не узнают о наличии изображения, что делает опыт использования сайта разорванным и запутанным. Кроме того, это нарушает правила WCAG.
Именно поэтому нам пришлось действовать, когда проект миграции привел к тому, что у тысяч изображений отсутствовал атрибут alt.
Миграция в Drupal оставила 12 000 изображений без правильного атрибута alt
Миграция с Drupal 9 на Drupal 11 для многоязычного спортивного новостного проекта выявила около 12 000 изображений с отсутствующими или неправильными атрибутами alt. У некоторых изображений вообще не было атрибута alt, у других текст alt был на неверном языке (например, английский текст alt появлялся в испаноязычной версии сайта).
Очевидный следующий шаг заключался в поиске закономерности: связана ли проблема с конкретным типом контента, например, со статьями? Вызван ли неправильный язык текста непереведенным контентом Media? Ответить на эти вопросы оказалось на удивление сложно: Drupal не предоставляет по умолчанию никакого механизма (ни представления (view), ни отчета) для выявления изображений с проблемными атрибутами alt.
Корневая причина лежала в источнике миграции. На сайте Drupal 9 некоторые изображения изначально вообще не имели атрибута alt, и миграция перенесла этот пробел прямо в новую архитектуру.
Здесь на помощь приходит модуль Image Alt Fallback.
Image Alt Fallback автоматически заполняет отсутствующий атрибут alt
Модуль Image Alt Fallback работает только с изображениями, у которых не определен текст атрибута alt. Существующий текст alt никогда не затрагивается.

Точкой отправления является настраиваемое Глобальное поведение по умолчанию: установить атрибут alt-заглушку как метку родительской сущности или пометить изображение как декоративное. Настройка полей строится поверх этого глобального значения. Например, поле field_image на типе контента «Статья» может использовать метку родительской сущности (то есть заголовок этой статьи), поле field_gallery может следовать глобальному значению по умолчанию, а поле field_image в словаре таксономии «Фрукты и овощи» можно пометить как декоративное. В данный момент модуль обнаруживает два типа сущностей: Nodes (Узлы/Статьи) и Taxonomies (Таксономии).
Технически модуль действует в обратном вызове post_render. Никаких изменений в базе данных и никаких изменений шаблонов Twig не требуется, достаточно установить и настроить.
Модуль также поставляется с вспомогательным представлением (view), которое помогает нам выявить и исправить проблему. Оно перечисляет все элементы Media с фильтрацией по статусу атрибута alt (пустой или непустой) и по типу, так что проблемные изображения проявляются без технической помощи.

Когда использовать Image Alt Fallback
Идеальным долгосрочным решением является хранение осмысленного текста alt непосредственно на самой сущности File (Файл) или Media (Медиа). В последних версиях Drupal атрибут alt по умолчанию стал обязательным, но в более старых версиях Drupal или других системах-источниках это требование может не соблюдаться, поэтому миграции могут перенести этот устаревший пробел на новый сайт.
Пробелы также возникают вне контекста миграций. Поле alt может быть настроено как необязательное, иногда из-за ошибки конфигурации, а иногда по явному требованию проекта, так что контент публикуется без текста alt со временем. В других случаях изображение чисто декоративное, и правильное решение — пометить его как декоративное, а не насильственно вставлять осмысленный текст alt.
Модуль следует рассматривать как страховочную сетку, а не постоянное решение. Он автоматически закрывает эти пробелы, пока сам контент исправляется в источнике.
Заключение
Отсутствие атрибутов alt несет реальную и измеримую стоимость в проверках Доступности и SEO, и они проявляются массово в реальных проектах, как показывает случай с миграцией 12 000 изображений. Модуль Image Alt Fallback закрывает этот пробел автоматически, используя настраиваемые правила для каждого типа контента и поля, не требуя исправления или добавления кода для установки или конфигурации. Он заслуженно занимает место в качестве страховочной сети для устаревших пробелов и ограничений по времени, в то время как хранение осмысленного текста alt непосредственно в источнике остается конечной целью.