Each diagram can have vastly different appearances and behaviors. Furthermore, the purpose of a same diagram may vary greatly depending on the context. So there is no predefined way of navigating through a diagram using the keyboard. And certainly no predefined way for users to modify every aspect of every object in a diagram. The whole point of templates is to have the programmer design what is fixed and what is variable for each part.
An example of customized keyboard behavior that is similar to what you seek is implemented in the DrawCommandHandler extension. The sample demonstrates different ways in which the arrow keys can be used for navigating and manipulating the diagram: https://gojs.net/latest/extensions/DrawCommandHandler.html
The implementation of handling the arrow keys in different manners is at: https://gojs.net/latest/extensions/DrawCommandHandler.js
However, for the uses that you discuss, you will need to implement additional keyboard event behaviors. Well, showing context menus is already handled by the “Menu” key invoking the CommandHandler.showContextMenu command, and editing editable TextBlocks is already handled by the “F2” key invoking the CommandHandler.editTextBlock command.
https://gojs.net/latest/intro/commands.html
But only you know that your app has buttons on links that could be clicked. And you talk about hiding and showing links on groups, which must mean something specific in your app.