Собираем доступное автодополнение. Адам Сильвер подробно показывает, как сделать кастомный <select> с автодополнением и поддержкой клавиатуры — https://adamsilver.io/articles/building-an-accessible-autocomplete-control/