The tab stop is handed to an option once, when the listbox first mounts, and every other option is unreachable by design. Rendering the options from a filtered list therefore breaks the component the first time the filter runs, since the replacement options all arrive unreachable and no stop is ever restored. The key handling hangs off that stop, so the arrow keys, Home, End, typeahead and Enter all go dead with no visible sign, and clearing the filter does not bring them back. A listbox that starts out empty, which is what a search result list does, is never reachable at all.
The tab stop is handed to an option once, when the listbox first mounts, and every other option is unreachable by design. Rendering the options from a filtered list therefore breaks the component the first time the filter runs, since the replacement options all arrive unreachable and no stop is ever restored. The key handling hangs off that stop, so the arrow keys,
Home,End, typeahead andEnterall go dead with no visible sign, and clearing the filter does not bring them back. A listbox that starts out empty, which is what a search result list does, is never reachable at all.