Skip to content

Add keyboard shortcuts #17

Description

@DevOlabode

Current behavior

There are no keyboard shortcuts in the extension today - no commands key in extension/manifest.json, and no keydown handling in extension/popup/popup.js beyond the browser's native form/button behavior.

Goal

Investigate and propose (this can start as discussion, then become a small focused PR) a small set of shortcuts that fit the popup's actual UI, for example:

  • A toolbar command (via manifest.json commands, e.g. Ctrl+Shift+B) to open the popup directly into "Add a bookmark," prefilling the URL of the active tab if reasonable
  • Esc to close the open composer (addForm / collectionAddForm in popup.js) instead of only the explicit Cancel button
  • Esc to go back from a collection detail view or settings (#collection-back, #settings-back) to the library list

Constraints

  • Don't introduce a shortcut that collides with common browser chrome shortcuts (e.g. Ctrl+T, Ctrl+W, Ctrl+L) or with shortcuts Chrome/Edge reserve for extension commands generally.
  • Any new commands entry needs a sensible default that a user can still remap or disable from chrome://extensions/shortcuts.
  • Keep it additive - existing mouse/touch interactions must keep working exactly as they do now.

Relevant files

  • extension/manifest.json (commands)
  • extension/background/service-worker.js (would need to listen for chrome.commands.onCommand)
  • extension/popup/popup.js (composer open/close, back navigation)

Acceptance criteria

  • Proposed shortcuts are listed with justification before implementation
  • No collision with reserved browser shortcuts
  • Existing navigation still works without a keyboard shortcut
  • Shortcuts are discoverable (e.g. mentioned in extension/README.md or the options page)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    accessibilityKeyboard, screen reader, or other a11y workenhancementNew feature or requestextensionBrowser extension (popup, options, background)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions