A debate on Hacker News about whether developers should prioritize graphical user interfaces (GUIs) over terminal user interfaces (TUIs) has sparked discussion about keyboard navigation.

According to a post on ckardaris.com, a recurring argument in favor of TUIs is that they are inherently keyboard-driven. While it’s statistically true that a randomly selected TUI is more likely to be fully keyboard-driven than a GUI, the author argues this preference doesn’t actually support building TUIs over GUIs. Instead, it highlights inadequacies in keyboard navigation within many GUI applications.
“There is nothing preventing a GUI from being fully keyboard-driven just like — or even better than — a TUI,” the author states. Many GUI framework application guidelines explicitly encourage developers to support keyboard-driven navigation across all functionality.
The GNOME Human Interface Guidelines, for example, state that every action should be possible with both a pointing device and the keyboard, and that users should be able to move around and interact with every part of the user interface using only the keyboard.
The author, who describes himself as a heavy terminal user, acknowledges the appeal of TUIs for those who want to stay within the terminal environment. However, he argues that keyboard navigation is not inherently a TUI advantage. Instead, the issue is developer commitment. “Keyboard navigation is not that hard to achieve in most cases and results in an overall better user experience. It is not a matter of feasibility, but a matter of will on the application developer’s part.”
In developing his first GUI application, Klisi, the author invested effort in implementing keyboard shortcuts covering the full range of available actions. He concludes that the key takeaway for developers is straightforward: don’t compromise on user experience by ignoring full keyboard navigation. According to the GNOME guidelines cited, enabling intuitive and predictable keyboard navigation gives users more reason to choose one application over its alternatives.
Key facts
- Many GUI applications lack full keyboard navigation, though nothing technically prevents them from having it
- GNOME Human Interface Guidelines explicitly require that every action be possible with both pointing device and keyboard
- The author argues that keyboard-driven interfaces are a matter of developer choice, not GUI limitations
- Full keyboard navigation in GUIs can provide better user experience than TUIs in many cases
