У атрибута alt три состояния, а не два: его нет вовсе, он есть и пустой, он есть и заполнен. Разница между первыми двумя и создаёт весь разнобой в проверках: одна насчитает «половина картинок без описания», другая — «десять процентов», и обе будут правы по-своему.
Мы посчитали все три состояния на выборке из 75 сайтов живой выдачи Екатеринбурга. Ответили 74, картинки нашлись у 71.
Что нашли
Сначала пришлось отделить картинки от не-картинок. Из 7501 тега img
97 оказались счётчиками-пикселями (Метрика, VK, Mail), ещё 381 — заглушками
ленивой загрузки: прозрачный gif в base64, а настоящий адрес лежит в
атрибуте data-src. Настоящих картинок осталось 7023, медиана — 54 на
главную, максимум — 938.
| Состояние атрибута | Картинок | Доля |
|---|---|---|
| Атрибута нет | 1471 | 21% |
Пустой alt="" | 2262 | 32% |
| Заполнен | 3290 | 47% |
По сайтам разброс полный: у девяти описано всё до единой картинки, у двенадцати не описано ничего. Больше половины картинок без описания — у 30 сайтов выборки из 71, где картинки вообще нашлись.
Почему цифры в проверках расходятся
Автоматическая проверка обычно складывает «нет атрибута» и «пустой» в одну долю. Так устроена и наша бесплатная проверка: по той же выборке такой счёт даёт «больше половины картинок без описания» у 32 адресов — в разборе бесплатного аудита их было 31, замер другого дня. Если считать только отсутствующий атрибут, таких сайтов семь.
Ни один из счётов не врёт — они отвечают на разные вопросы. Первый: «у скольких картинок поиск не получил ни слова». Второй: «сколько картинок разметчик забыл вовсе». Для работы полезнее первый, для оценки чужой аккуратности — второй.
А вот счёт по всем тегам img подряд, без отсева счётчиков и заглушек, не
полезен ни для чего. На одном сайте выборки из 686 тегов пустой alt стоял у
684 — и 343 из них оказались заглушками ленивой загрузки одной и той же
галереи.
Пустой alt: когда это норма, а когда потеря
Пустое значение — законный приём: оно говорит программе чтения с экрана пропустить элемент. Разделители, фоновые узоры, иконка рядом с подписью, которая и так всё называет, — им пустое значение и положено.
Проверить, тот ли это случай, можно одним признаком: картинка внутри ссылки. У ссылки должно быть название, и если внутри неё только картинка, название берётся из alt. Пустой alt превращает ссылку в безымянную: читалка произносит «ссылка» и замолкает.
Таких картинок в выборке 674. Это плитки каталога, карточки услуг, логотипы в шапке, кнопки соцсетей — всё то, по чему на сайте ходят.
«Заполнен» ещё не значит «описан»
Из 3290 заполненных описаний 502 не говорят о картинке ничего: чистые цифры,
слова icon, star, logo, имя файла целиком или значение короче четырёх
знаков. Это каждое седьмое описание.
| Что встречается | Сколько | На скольких сайтах |
|---|---|---|
| Описание — имя файла | 234 | 24 |
| Один и тот же alt у 10+ картинок | — | 9 |
| Описание длиннее 125 знаков | 4 | 2 |
Чемпион выборки — сайт, где 51 картинка подписана как «1», ещё по полсотни
как «2», «3» и «4»: движок пронумеровал галерею. Рядом сайт с пятьюдесятью
star — это звёзды рейтинга, и им как раз полагался пустой alt, а не слово.
Осмысленных описаний в итоге 2788 из 7023 картинок — 40%. Медиана длины — 23 знака, то есть три-четыре слова. Набитых ключами длинных alt, которыми пугают статьи десятилетней давности, в выборке практически нет: длиннее 125 знаков нашлось четыре штуки.
Что писать вместо пустых
Правила, что именно писать, разобраны на странице проверки — здесь только порядок работы, когда картинок много и все они без описания.
Сначала те, что внутри ссылок. Это не косметика: безымянная ссылка ломает навигацию для человека с читалкой. Название берётся из того, куда ссылка ведёт: «Натяжные потолки в ванной — перейти в раздел».
Потом товары и работы. Здесь описание собирается шаблоном из данных карточки: название, материал, цвет, ракурс. «Кухня «Милан», фасады дуб сонома, вид спереди» — машинно собранная строка, и она честно описывает картинку.
Декоративным — пустое значение, а не выдумка. Если картинку нельзя
описать так, чтобы описание кому-то пригодилось, значит она декоративная:
alt="", и читалка её пропустит.
Одинаковый текст на все картинки не годится. Девять сайтов выборки подписали десять и больше картинок одной строкой — для поиска по картинкам это то же самое, что не подписать.
Как посмотреть у себя
curl -s https://ваш-сайт.ru/ | grep -o '<img[^>]*>' | wc -l
curl -s https://ваш-сайт.ru/ | grep -o '<img[^>]*>' | grep -c 'alt=""'
curl -s https://ваш-сайт.ru/ | grep -o '<img[^>]*>' | grep -vc 'alt='
Три числа: всего картинок, с пустым описанием, без атрибута. Заглушки
ленивой загрузки видно по data:image в адресе — их из счёта надо
выбрасывать. Готовый ответ по одной странице даёт
проверка alt.
Наши цифры
Свой сайт мерили тем же способом: 380 страниц, картинки на 144 из них, всего 618. Без атрибута — ноль, пустых — ноль, медиана описания 54 знака. Пустых нет по простой причине: декоративная графика у нас нарисована в коде страницы, а не вставлена картинкой, так что помечать пустым нечего.
Один дефект собственный и честный: у тринадцати иллюстраций описание одинаковое — «Иллюстрация к разделу «Заключение»». Их собирает скрипт по заголовку раздела, а заголовок «Заключение» встречается в статьях чаще прочих. Ровно та же ошибка, что и «star» пятьдесят раз, только в меньшем масштабе.
Границы замера
Одна страница с сайта — главная, 20 сентября 2026 года, запросы из России. Внутренние страницы и карточки каталога почти наверняка хуже: описания на главной чаще ставят руками. Смысловую картинку от декоративной мы отличали по одному признаку — стоит ли она внутри ссылки; остальные пустые значения могли быть и оправданными, машина этого не знает. Содержимое описаний на качество не оценивалось: проверялось только то, что описание не пустое и не является цифрой, именем файла или служебным словом.
Коротко
Из 7023 картинок на 74 главных страницах описание есть у 47%, осмысленное — у 40%. Атрибута нет у каждой пятой картинки, пустым он стоит у каждой третьей, и 674 картинки-ссылки остались без названия. Начинать стоит именно с них, а не с общей доли: она зависит от того, как считать, сильнее, чем от состояния сайта.
