Я пытаюсь создать <select>
древовидное изображение с помощью HTML и CSS.
Для обеспечения доступности я бы по возможности избегал использования javascript. Я также хотел бы избежать использования
вместо заполнения, так как это предотвращает нажатие буквенных клавиш для перехода к элементам.
На данный момент у меня есть следующее:
<select>
<optgroup label="fluffy" style="padding-left: 10px;"></optgroup>
<optgroup label="kitties" style="padding-left: 20px;"></optgroup>
<option value="1" style="padding-left: 30px;">Fluffykins</option>
<option value="2" style="padding-left: 30px;">Mr Pooky</option>
<optgroup label="puppies" style="padding-left: 20px;"></optgroup>
<option value="3" style="padding-left: 30px;">Doggins</option>
<optgroup label="not fluffy" style="padding-left: 10px;"></optgroup>
<optgroup label="snakes" style="padding-left: 20px;"></optgroup>
<option value="4" style="padding-left: 30px;">Fingers</option>
<optgroup label="crabs" style="padding-left: 20px;"></optgroup>
<option value="5" style="padding-left: 30px;">Lucky (AKA Citizen Snips)</option>
</select>
Это отлично работает в Firefox, но IE игнорирует заполнение, отображая его как плоский список (что довольно сложно использовать), а Chrome не отображает <optgroup>
s, которые технически недействительны, поскольку <optgroup>
должен содержать как минимум <option>
.
К сожалению, <optgroup>
s не могут быть вложены.