# Keyboard Navigation and Command Palette Mechanica now includes a global command palette for fast catalogue navigation without requiring pointer input. ## Shortcuts | Shortcut | Behaviour | | --- | --- | | Ctrl + K | Open the command palette on Windows/Linux | | + K | Open the command palette on macOS/iPadOS keyboards | | / | Open quick search when focus is not inside an editable field | | / | Move through results | | Enter | Open the active result | | Esc | Close the palette | | Tab / Shift + Tab | Stay trapped within the modal while it is open | ## Accessibility behaviour - The palette is exposed as an `aria-modal` dialog with a labelled search combobox. - Search result changes are announced through a polite live region. - Active results are connected to the search input through `aria-activedescendant`. - Focus is moved to the search input when opened and restored to the previous element when closed. - A skip link is mounted at the shell level so keyboard and screen-reader users can bypass repeated navigation. ## Search model The palette is registry-driven and indexes each machine by: - name/title/label - slug and id - category and difficulty - summary/description/overview fields - tags, aliases, keywords, features, use cases, disciplines, and industries The scoring utility intentionally supports multi-field queries such as `advanced pump` or `rotor engine`, making it useful for engineering vocabulary rather than only exact title matches. ## Test coverage Pure search behaviour is covered by `tests/commandPalette.test.ts`, including normalisation, route generation, empty-query ordering, multi-token matching, multi-field searches, and ranking direct label matches above keyword-only matches.