css :фокус-виден для пользовательского управления

#html #css #onfocus

Вопрос:

a :focus-visible всегда отображается для input amp; textarea и всегда отображается button только в том случае , если фокус переключается с помощью tab клавиши.

Вопрос в следующем: как насчет пользовательского элемента управления, изготовленного из <div tabIndex="0">....</div> .
Иногда сложный пользовательский элемент управления проще сделать из <div> amp; <span> и стилизовать под собственный элемент управления.
Как заставить button like <div> работать с :focus-visible ?
Как заставить textarea like <div> работать с :focus-visible ?
Как сообщить css, что указанный <div class="my-custom-ctrl"> является кнопкой или текстовым редактором?

Смотрите мою песочницу здесь

Комментарии:

1. Можете ли вы поделиться некоторыми кодами, которые вы пробовали до сих пор?

2. я обновил сообщение, смотрите мою песочницу

Ответ №1:

Используйте tabindex , и это сработает.

 .focusable:focus-visible {
    color: red;
} 
 <div tabindex="0" class="focusable">
Can be focused
</div>

<div>
Can NOT be focused
</div>

<div tabindex="0" class="focusable">
  Can be focused
</div>

<div>
Can NOT be focused
</div>
<div tabindex="0" class="focusable">
Can be focused
</div>

<div>
Can NOT be focused
</div>

<div tabindex="0" class="focusable">
  Can be focused
</div> 

Комментарии:

1. я обновил сообщение, смотрите мою песочницу