0.0.15 • Published 5 years ago

h5p-lib-controls v0.0.15

Weekly downloads
75
License
MIT
Repository
-
Last release
5 years ago

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();
...
0.0.15

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

7 years ago

0.0.11

7 years ago

0.0.10

7 years ago

0.0.9

7 years ago

0.0.8

7 years ago

0.0.7

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago