какой тег html использовать для ввода пользовательского выбора - PullRequest
0 голосов
/ 28 мая 2020

Я создаю собственный выбор при реакции. Я знаю, что это не лучшая идея с точки зрения удобства использования и совместимости, но я должен это сделать из-за требований к продукту.

Мой первый подход использует кнопку для имитации ввода выбора, а для раскрывающегося списка я использую абсолютное позиционирование div со списком кнопок. Причина, по которой я выбираю кнопку для параметров в списке, заключается в том, что они имеют несколько интересных функций из коробки:

  • по умолчанию они настраиваются с помощью вкладок
  • их можно активировать с помощью клавиатуры (ввод / пробел)
  • они отключены и состояния фокуса
  • у них есть правильные события указателя

Примерно это выглядит примерно так:

<div class="relative-wrapper">
  <button class="select">{selected_value}</button>
  <div class="dropdown">
    <button class="option" role="option" aria-selected={someFlag}>{value1}</button>
    <button class="option" role="option" aria-selected={someFlag}>{value2}</button>
  </div>
</div>

Но, исследуя другие реализации, я вижу несколько из них (например, Material-ui), использующие вместо них ul и li с множеством атрибутов и стилей, чтобы они выглядели и вели себя как кнопки. Это заставило меня предположить, выберу ли я правильный вариант или лучше использовать другие теги html, такие как упомянутые ul и li. Есть ли какие-либо проблемы с использованием кнопок или какие-либо преимущества при использовании списков?

1 Ответ

0 голосов
/ 28 мая 2020

Списки вместе структурируют группу элементов. По умолчанию кнопки интерактивны.

Нет причин не использовать оба. -в «Выберите один» лог c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...