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