Элемент <aside>
не поддерживается в IE 8 и более ранних версиях. Это означает, что любые стили, которые вы на него устанавливаете, теряются в этих браузерах. Вы можете частично обойти эту проблему, используя JavaScript-код, который «учит» им элемент, но стоит ли это все? Каков именно ожидаемый выигрыш?
По логике, описанное использование не соответствует семантике HTML5. Описания там нечеткие, но я не думаю, что сообщение об ошибке можно охарактеризовать как тангенциальное , когда оно отображается и актуально; тогда это действительно ключевой контент. Это не отдельный от остального содержимого; вместо этого он выражает жизненно важную информацию об этом.
Реклама будет кандидатом на <aside>
, как и анекдот или заметка к истории, или, как правило, контент, который не обязательно каким-либо образом связан с основным контентом.
Я не видел никаких свидетельств того, что какое-либо программное обеспечение, такое как поисковые системы или браузеры или надстройки для браузера, действительно использует разметку <aside>
. Просто предположение о том, что может быть сделано.
Я думаю, что в общем дизайне есть фундаментальный недостаток, делающий вопрос о семантике элементов еще более теоретическим. Что происходит, когда CSS или JavaScript отключен? Правильно, пользователь всегда видит сообщение об ошибке, даже если он вообще не вводил данные или все данные введены правильно.
Лучшим подходом, предполагающим, что речь идет об ошибках, обнаруженных в клиентском коде, является сохранение текстов сообщений об ошибках только в строках JavaScript. Когда обнаружена ошибка, добавляется новый элемент или изменяется содержимое существующего элемента, чтобы сделать сообщение об ошибке доступным; и он будет уничтожен, когда ошибка будет исправлена. (Не нужно полагаться на CSS здесь.)
Таким образом, сообщение об ошибке может быть помещено перед полем, справа от него или под ним. Не имеет большого значения, какие элементы вы используете для этого (поисковые системы не увидят его, и вряд ли браузеры будут делать что-то особенное с ним самостоятельно), но <div><strong>...</strong></div>
, вероятно, будет хорошим выбором.