Keyboard Navigation
SmarkForm provides an intuitive keyboard-driven interface that lets users fill data fluently without switching between keyboard and mouse.
Enter / Shift+Enter Navigation
Press Enter to move forward to the next field, and Shift+Enter to move backward. This is more convenient than Tab and Shift+Tab β it skips controls that would otherwise interrupt the data-entry flow, providing a more fluid experience.
In textareas, use
Ctrl+Enterinstead. PlainEnterinserts a new line in the text.
Tab-Flow Exclusion for Hotkey-Equipped Buttons
Buttons that have a hotkey defined are automatically taken out of the Tab navigation flow. This prevents having to tab through dozens of inner-list action buttons (e.g. β remove buttons) when filling a long list.
- Inner buttons (inside list items): Removed from
Tabflow β users can activate them via their hotkey instead. - Outer buttons (siblings of the list): Kept in
Tabflow β withmin_items: 0, the only way to create the first item is via the outer add button, which must remain keyboard-accessible.
Hold
Ctrlto discover available hotkeys β each trigger button with a hotkey shows a tooltip revealing its keyboard shortcut.
Alt+Enter for Collapsed Sections
When navigating with Enter / Shift+Enter, fields inside a closed <details> element are skipped. To navigate into them, hold Alt while pressing Enter β SmarkForm automatically opens any closed <details> ancestors along the path.
This allows you to keep optional sections collapsed by default while still being able to arrow-key into them when you need to fill data.
Using <details> as List Items
A powerful design pattern is to wrap each list item in a <details> element with the itemβs key identifying field placed inside the <summary>. This way, even when collapsed, the key information remains visible so the user can quickly scan the list, while the full details expand on click.
SmarkForm fields inside the <details> work exactly as they would anywhere else β the browser handles the show/hide toggle natively. Combined with Space/Shift+Space toggling and Alt+Enter for navigation into collapsed sections, this creates an accessible, space-efficient list UI without any custom JavaScript.