Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

h5p-lib-controls

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

h5p-lib-controls

Library for adding user input to web applications

  • 0.0.15
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

H5P Library - Controls

Build Status

Getting started

Grab all the module:

npm i --save-development h5p-lib-controls

Run tests:

npm test

Build distribution

npm run build

Usage

Keyboard navigation

To get keyboard navigation using arrow keys between elements you can do the following:

import Controls from 'h5p-lib-controls/src/scripts/controls';
import UIKeyboard from 'h5p-lib-controls/src/scripts/ui/keyboard';

// Add support for arrow keys + HOME + END
const controls =  new Controls([new UIKeyboard()]);

// Add support for ENTER and SPACE
controls.on('select', event => console.log('user selected element', event.element));

// Add support for ESC
controls.on('close', event => console.log('perform closing action'));

Moving [aria-selected]

import Controls from 'h5p-lib-controls/src/scripts/controls';
import UIKeyboard from 'h5p-lib-controls/src/scripts/ui/keyboard';
import AriaSelected from 'h5p-lib-controls/src/scripts/aria/selected';

// this control will also apply [aria-selected="true"] on select event
const controls =  new Controls([new UIKeyboard(), new AriaSelected()]);

Drag and drop

import Controls from 'h5p-lib-controls/src/scripts/controls';
import AriaDrag from 'h5p-lib-controls/src/scripts/aria/drag';
import AriaDrop from 'h5p-lib-controls/src/scripts/aria/drop';
import UIKeyboard from 'h5p-lib-controls/src/scripts/ui/keyboard';

// trigger [aria-grabbed="true"] with keyboard
const dragControls = new Controls([new UIKeyboard(), new AriaDrag()]);

// trigger [aria-dropeffect="move"] with keyboard
const dropControls = new Controls([new UIKeyboard(), new AriaDrop()]);

Using negative tabindex

By default h5p-lib-controls will remove [tabindex] from the elements that are not selected. If you instead want to use [tabindex="-1"], you can do the following:

const controls =  new Controls([new UIKeyboard()]);
controls.useNegativeTabIndex();
...

Keywords

FAQs

Package last updated on 21 Oct 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc