Tom Adler’s blog

простые бонусы семантичности

возможно, я читаю слишком много всего по этой теме, но мне редко встречаются слова о самых банальных плюсах, которые пользователи получат от самой банальной семантичности: ссылок с непустым и работающим href, и кнопок input/button (а не div/span)

дело в том, что эти простые и привычные элементы по умолчанию имеют навороченные обработчики. Если программист пытается их заменить, против него работают сразу две стороны медали: а) сложность встроенной функциональности, программист почти наверняка сделает хуже; б) в разных браузерах, и даже при разных настройках, реакция может быть различной, и очень вероятно, что продублированное поведение будет неожиданным для пользователя

эту проблему иллюстрируют два примера, с которыми я столкнулся за последние два дня. Один — в GReader. Там можно отправить запись на емейл, форма очень простая и понятная: адрес, заголовок, текст, кнопка отправки. Пишешь адрес, tab, оставляешь заголовок по умолчанию, tab, пишешь пояснительный текст, tab, enter. Опля, фигушки! Кнопка отправки — не кнопка, а какой-то див. Перевести на него фокус табом нельзя, нужно тянуться к мышке.

второй пример попался только что. FriendFeed.com (кстати, рекомендую посмотреть). Написано: этот человек пошарил 18 записей в GReader, вот вам 3 штуки оценить, а вот ссылка на просмотр остальных. Кликаю ссылку средней кнопкой, открывая ее в фоновом табе — почитать на потом. Сам продолжаю изучать текущую страницу, потом перехожу на следующую. Пока она грузится, иду смотреть открытую в другом табе. А там — угадайте что! Та самая страница, которую я только что читал. И из списка шареных записей по-прежнему видны только три. Потому что ссылка «смотреть остальные» — не ссылка, а типа кнопка, имеющая исключительно аяксовый обработчик.

в общем, помните, что простые ссылки и кнопки могут дать вашему сайту очень многое минимумом усилий. Кнопки и ссылки можно фокусировать табом и открывать в новом окне, ссылки можно сохранять на диск или кидать в аську, а событие click легко вызывается с клавиатуры. Если это почему-то неожиданно не работает, хорошие пользователи огорчаются.

,

забавная опечатка об офисном планктоне

планктоне, вынужденном пользоваться устаревшими браузерами:

копроративные пользователи

добрый skype

милая зверюшка skype toolbar для эксплорера очень вольно обходится со всеми страницами, которые эксплорер показывает

например, в dom прямо в элемент html вставляет элемент meta после body

,

Function.prototype vs timeouts

интересное дело, оказывается, что функции setTimeout/setInterval etc не получают свойства, заданные в Function.prototype

ie, естественно : )

,

стоя в гамаке на руках

вот интересно, почему такое количество начинающих яваскриптеров прётся от сложных конструкций, и не хочет использовать простые и естественные?

зачем им .setAttribute(), если фактически они хотят просто задать свойство?

зачем им .item(), если к NodeList можно обращаться как к массиву?

и т.д.