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