Skip to main content

OpenKeyNav™

A well-documented MIT-licensed JavaScript library designed to help web developers enhance keyboard accessibility.



Install via NPM
npm i openkeynav

View on NPM


Live Keyboard Demo
Drag-and-drop

Press (m) to drag-and-drop elements.

Moveable Items

Item One
Item Two
Item Three

Drop Targets

Drop Zone 1
Drop Zone 2
Click

press (k) to click on / focus on interactive elements.




Override key
(ctrl)

Press ctrl+[key]to execute an OpenKeyNav command while focused on a text input, checkbox, etc. For example, press ctrl+k for `Click Mode`. OpenKeyNav tries to avoid activation when the focus is on a form field, in case the user is inputting text.



Toggling Checkboxes

Use the space bar to toggle checkboxes on/off



Navigating Dropdowns

Use arrow keys to navigate dropdowns. Press enter or space bar to select options.



Activating buttons

Press the Enter key to activate a focused button. Sometimes OpenKeyNav's Click Mode only places focus on the button.


Scrollable Regions

Press (s) to focus on the next scrollable region in view.

Scrollable region #1

Line 2

Line 3

Line 4

Line 5

Line 6

Navigating Scrollable regions

Use arrow keys to scroll.

Scrollable region #2

Line 2

Line 3

Line 4

Line 5

Line 6


Going in reverse
(shift)

Press shift+s to focus on the previous scrollable region in the view.

See more in the Kitchen Sink

Fork on GitHub
git clone https://github.com/LDubya/OpenKeyNav.git

  View on GitHub


Read the Preprint

The preprint "Using OpenKeyNav to Enhance the Keyboard-Accessibility of Web-based Data Visualization Tools" was presented at the AccessViz workshop, part of IEEE VIS 2024 conference.

The research paper is funded by the National Institutes of Health through Harvard University's HIDIVE lab.

  Read the Preprint

Enhance Accessibility

OpenKeyNav significantly improves keyboard accessibility on your website, making it easier for users to navigate and interact with your content.

Automatic Keyboard Shortcuts

Automatically generate and display keyboard shortcuts for interactive elements, reducing cognitive load and enabling efficient navigation.

Easy Integration

Integrate OpenKeyNav seamlessly into your existing projects with minimal configuration. Works with various frameworks and CMS platforms.

Customizable and Extensible

OpenKeyNav is highly customizable, allowing you to tailor keyboard shortcuts and navigation behavior to fit your specific needs. Extend functionality as needed.

Support for Complex Interactions

Support for complex interactions such as drag-and-drop, entirely with the keyboard. Enhance user experience by making advanced functionalities accessible.

Comprehensive Documentation

OpenKeyNav comes with detailed documentation and examples to help you get started quickly and make the most of its features.