I am working on palette navigation as part of GsoC 2017. I would like some feedback on the design.
A palette element can be accessed using the palette search feature and then navigating through the search results. The details of some aspects like keyboard focus and highlighting of palette cells have not been finalized yet. Feedback on these aspects would be appreciated.
To access a palette element, the focus is first shifted to the palette search box (using a shortcut command). On searching for an element, the search results are displayed. The search results can be navigated by selecting the first search result (using a shortcut) and then using the shortcuts to select the next/previous palette elements. The selected palette item can be applied using a shortcut.
Below are some aspects of the design which have not been finalized yet.
One option would be to use up/down arrow keys for next/previous palette elements and Enter to apply a palette element. These shortcut keys won't be customisable. The other implementation, which has customisable shortcuts, won’t be as simple as up/down, Enter due to shortcut conflicts, but they can be changed by editing preferences.
Also, these shortcut commands could either work only if the palette filter is active, or they could work all the time. Another option would be to activate the keyboard shortcuts by using a kind of keyboard mode, which could be toggled using a shortcut command.
On selecting a search result, either the focus shifts to the palette box or it remains on the search box.
The currently selected palette element is highlighted, and there is no need for it to have keyboard focus if customisable shortcut commands are to be used. If up, down, Enter keys are to be used, it would be better if the palette box had keyboard focus, but this would involve an extra step to go back to the search box. However, I think it may be possible to have up, down, Enter as the shortcut keys with the focus remaining on the search box.
After applying a palette item, either the focus shifts to the score or the focus remains on the search box.
Behavior of the mouse during keyboard navigation:
If the behavior of the mouse is left as is, on moving the mouse across the palette, the current palette selection is lost and the highlighting disappears. As the mouse is dragged across palette cells, those cells get highlighted. This loss of selection shouldn’t happen. One way to avoid this is to disable the highlighting of cells on dragging the mouse, so that on placing the mouse over the currently selected cell, the selection remains. The single click, double click behavior could remain, or else they could be disabled when the keyboard is being used. This may require some sort of keyboard mode, which could be toggled using a shortcut command.
On switching keyboard mode off, the behavior of the mouse should return to normal.
Highlighting of palette cells:
The current palette cell is shown highlighted. The keyboard focus is either on the search box or palette box.
When the focus is shifted to the score, it may be confusing if the highlighting disappears (the selection would be lost). One option is for the highlighted cell to remain highlighted even if focus is shifted to the score. However, the palette should be reset at some point (the selection should be deleted). One option would be to remove the highlighting and delete the selection after the palette item is applied. Another option would be for the selection to be lost and highlighting to disappear whenever the focus is removed from the search box or palette box.
Feedback on these issues would be greatly appreciated. Please feel free to comment below.