<select> — "Striking a Balance Between Native and Custom Select Elements".В начале статьи есть небольшой экскурс в нейминг компонентов, реализующих поведение
<select>: Menu, Navigation, Select. Последний используется для создания выпадающих списков, именно про него рассказывается в статье.Для создания доступного и кастомизированного
<select> Сандрина предлагает использовать два элемента: визуальный со всеми стилями и нативный, который доступен с клавиатуры и в скринридерах. Переключение между ними происходит с помощью медиа-выражения @media (hover: hover):@media (hover: hover) {
.selectCustom {
display: block;
}
.selectNative:focus + .selectCustom {
display: none;
}
}Этот подход был успешно протестирован в Chrome 81, Firefox 76, Safari 13 среди пользователей, использующих технологии доступности.
Рекомендую почитать статью, если занимаетесь разработкой UI.
#css #a11y
https://css-tricks.com/striking-a-balance-between-native-and-custom-select-elements/