Почему ругается валидатор?
alt - для img-тега.
Как там и написано — атрибут alt не используется на div'ах. Его ставят на тег img, что бы роботы поисковиков знали о чём картинка. Ну и люди, если картинка не загрузилась, или пользователь слеп и использует голосовых помощников.