• Status Researching
  • Percent Complete
  • Task Type Bug Report
  • Category User Interface
  • Assigned To No-one
  • Operating System All
  • Severity Low
  • Priority Medium
  • Reported Version 1.0 alpha1
  • Due in Version 1.1 devel
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Flyspray
Opened by peterdd - 26.07.2015
Last edited by peterdd - 29.07.2019

FS#2018 - review keyboard navigation

Keyboard navigation is not documented

At least there is no hint in the interface which keyboard shortcuts are available for fast navigation between task list and task details view.

Due to the dropping of the cookie storage for remembering last search or last selected task in favor of not interfering when multiple flyspray browser tabs are open (with e.g. different projects) ,
the caret list browsing with ‘j’,’k’,’o’ and details view isn’t useful at moment.

  1. keyboard based navigation must be documented somewhere, e.g. by providing hints (clickable icon for info or :hover ) at appropriate positions.
  2. navigation flow and technical realisation reviewed for keyboard power users

Edit: Currently handled by js event handler:

  • j move cursor down in task list
  • k move cursor up in task list
  • o open current selected task in task list
  • n next task on task details page
  • p previous task on task details page
grep -r 'accesskey' *

Current accesskeys (browserspecific + key):

  • a double usage for new task and newmultitask. Must hit [Enter] to open one of them; on newmultitask page it adds a new row.
  • e edit task on task details page
  • f copy firstline to the other rows on new multitask page
  • l show loginbox or logs you off
  • m toggle mysearchesbox
  • r reset? when dokuwiki plugin is used
  • s submit when dokuwiki plugin is used
  • w watch/unwatch task on task details page
  • n next task
  • p previous task
  • y close task
This task has the following sub-tasks
ID Project Summary Priority Severity Assigned To Progress
2553 Flyspray FS#2553 - intelligent accesskey shortcut helper dependent of OS, web brows Medium Low
2554 Flyspray FS#2554 - keyboard shortcuts help box should adapt to current page type Medium Low
Project Manager

Note to myself: Research if sessionStorage is the solution for handling browser tab specific status, but same domains.

I dropped storing some status (project_id,task_id,..) in cookies because it doesn't work well if a user has more than 1 browser tab opened for managing several projects in flyspray.

And the traditional solution for that by using urlparams isn't very beautiful.

Candits: last search and search params of this tab, last task selected in result list of this tab.

Remember: Basic stuff must still work when javascript is disabled.

Project Manager

And did you know that there exists several accesskey features for flyspray navigation? It is nowhere advertised and even I found it out now.

If you add for example this css:

[accesskey]::before {
    color: red;
    content: attr(accesskey);
    margin-top: 1em;
    position: absolute;
    z-index: 5;

the keys are shown beside the tag.
Sadly the key combinations are inconsistent between browsers and requires pressing 2 or 3 keys.

Chromium/Linux: Alt+key
Firefox/Linux: Alt+Shift+key

Project Manager

Now a keyboard shortcuts ‘cheatpage’ is a the bottom on each page.

Project Manager

There exists a standard made by some dudes:

that suggest accesskey defaults for typical websites.

Also the shortcuts should list only (or at least highlight them) the available shortcuts on the current page type. An extended shortcut description of the whole flyspray could be documented on a separate page.

Further the shortcut help should be more intelligent knowing on which OS/browser/browserconfig how the accesskeys are handled.


Firefox/MacOS: ctrl+alt+key (ctrl alt lowercase on a macbook keyboard)
(see about:config: ui.key.contentAccess = 6 is default currently there, which means "Control+Option")

Project Manager

documented the w accesskey for watch/unwatch a task


Available keyboard shortcuts


Task Details

Task Editing