елочь в селекте
В различных формах часто можно встретить элемент SELECT, в котором первым пунктом ставят фразу вроде «Выберите что-нибудь». Чаще всего, её просто вставляют ни о чём не задумываясь. Однако, есть два момента, которые можно учесть:
-
В идеале, этот первый пункт вообще не должен быть элементом
OPTION, так как он по сути не опция, а заголовок для селекта. Но в спецификации подобного элемента предусмотрено не было. Так что, можно минимизировать влияние этого элемента на семантику, вынеся этот заголовок из содержимого элементаOPTIONв его атрибутlabel. -
Кроме того, нужно минимизировать возможность пользователя выбрать этот пункт. Решение — сделать его
disabledиselected
Всё было бы хорошо, если бы не всеми любимый IE. Во-первых, он совершенно игнорирует атрибут disabled и исправить это я пока не вижу возможности. Во-вторых, он игнорирует атрибут label. Но это можно обойти простеньким экспрешном, код которого можно посмотреть в примере для этой заметки.
В итоге можно улучшить поведение подобного элемента, и, хотя до полной поддержки всеми браузерами еще далеко, разве это не повод сделать хорошо хотя бы тем, кто это понимает?
Добавлено позже: как всегда, поторопился — оказывается Firefox также не видит атрибут label. Однако, мне коллега Lusever подсказал, что для лисы есть такая вещь, как -moz-binding, немного посидев, я сделал аналог экспрешна в ие — теперь оно работает :) Код можно поискать всё в том же примере.
Вы можете прокомментировать эту статью в Мастодоне.
Опубликовано с метками: #Practical #Bugs #HTML #Outdated