HTML (или, может быть, просто XHTML?) относительно строг, когда речь идет о нестандартных атрибутах на тегах. Если они не являются частью спецификации, то ваш код считается несоответствующим.
Нестандартные атрибуты могут быть довольно полезны для передачи метаданных в Javascript. Например, если ссылка предполагает всплывающее окно, вы можете установить имя всплывающего окна в атрибуте:
<a href="#null" class="popup" title="See the Popup!"
popup_title="Title for My Popup">click me</a>
В качестве альтернативы вы можете сохранить заголовок для всплывающего окна в скрытом элементе, например span:
<style>
.popup .title { display: none; }
</style>
<a href="#null" title="See the Popup!" class="popup">
click me
<span class="title">Title for My Popup</span>
</a>
Я порван, однако, что должно быть предпочтительным методом. Первый метод более краток, и я предполагаю, что он не виртует с поисковыми системами и читателями экрана. И наоборот, второй вариант облегчает хранение больших объемов данных и, таким образом, более универсален. Он также соответствует стандартам.
Мне любопытно, что это за мысли сообщества. Как вы справляетесь с такой ситуацией? Является ли простота первого метода превышением потенциальных недостатков (если они есть)?