Palette Navigation

• Jun 22, 2017 - 13:35

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.

Shortcut commands:

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.

Keyboard focus:

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.


Comments

For those who never used a recent development version, searchable palette looks like this https://musescore.org/en/node/122536

I would favor the use of up/down and enter (or shift enter) and so palette would never get the keyboard focus.

The main question to me "After applying a palette item, either the focus shifts to the score or the focus remains on the search box.". I believe it should go back to the score, since it's more likely the user will want to add something on another note/rest etc... and so he wants to navigate the score.

This is all very promising! A few comments:

- When one enters a search term, the palette filters immediately, no need to press Enter. This is good. Is it really necessary to use a shortcut to transfer keyboard control to the palette to begin navigation? Could the first element just be selected automatically? But see below.

- I don't really understand most of the second paragraph under "Keyboard focus". But I think I agree with the last sentence: ideally, the focus remains in the search box, but up/down and Enter act on the highlighted palette item.

- The question implied in the last paragraph under "Keyboard focus" is important to get more feedback on. Where would users expect focus to be after hitting Enter to apply a palette item? Still on the palette, or back to the score? And if the score, would focus remain on the note (or other element) that was selected prior to engaging with the palette, or would focus be on the element just added?

- Behavior of the mouse during keyboard navigation: I'm pretty sure I would not want mouse hover to change the selection if I've been navigating with the mouse. But I'm not so sure what makes sense in terms of how one would get into and out of that mode. It could be that merely invoking the filter triggers this change, if the first element is selected automatically. But that might not be so convenient for people who want to use the filter but still wish to use the mouse. So maybe an explicit command to start keyboard navigation does make sense - Enter or Tab after entering a search term, for example. Would be interesting to get get more feedback on this.

- Highlighting of palette cells: my sense is that if the filter is engaged, the highlighting of the current cell can remain even if focus returns to the score. So that way you can easily return to the palette and apply the same item again later.

Do you still have an unanswered question? Please log in first to post your question.