We need to support keyboard navigation in the criteria builder to comply with accessibility standards.
- Tab: Focus on next item
- Shift + Tab: Focus on previous item
- Space: Select/Deselect item
- Arrow Up/Down: Move selected item
- Enter: Add selected property to criteria builder
Although react-beautiful-dnd has keyboard accessibility built-in, the library does not support a builder-like interface of copy and pasting items which is required for the criteria builder. It also imposes specific animations which could not follow lexicon standards. Keeping the current react-dnd implementation and adding on keyboard actions would allow for more flexibility and will most likely be a lower effort than refactoring to accommodate for a currently restrictive library.