com.vaadin.polymer.iron.element.IronA11yKeysElement Maven / Gradle / Ivy
/*
* This code was generated with Vaadin Web Component GWT API Generator,
* from iron-a11y-keys project by The Polymer Authors
* that is licensed with http://polymer.github.io/LICENSE.txt license.
*/
package com.vaadin.polymer.iron.element;
import com.vaadin.polymer.elemental.*;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.JsArray;
import com.google.gwt.core.client.js.JsProperty;
import com.google.gwt.core.client.js.JsType;
/**
* iron-a11y-keys
provides a normalized interface for processing keyboard commands that pertain to WAI-ARIA best
practices. The element takes care of browser differences
with respect to Keyboard events and uses an expressive syntax to filter key presses.
* Use the keys
attribute to express what combination of keys will trigger the event to fire.
* Use the target
attribute to set up event handlers on a specific node.
The keys-pressed
event will fire when one of the key combinations set with the keys
attribute is pressed.
* Example:
* This element will call arrowHandler
on all arrow keys:
* <iron-a11y-keys target="{{}}" keys="up down left right" on-keys-pressed="{{arrowHandler}}"></iron-a11y-keys>
*
*
*
Keys Syntax:
* The keys
attribute can accepts a space seprated, +
concatenated set of modifier keys and some common keyboard keys.
* The common keys are a-z
, 0-9
(top row and number pad), *
(shift 8 and number pad), F1-F12
, Page Up
, Page
* Down
, Left Arrow
, Right Arrow
, Down Arrow
, Up Arrow
, Home
, End
, Escape
, Space
, Tab
, and Enter
keys.
* The modifier keys are Shift
, Control
, and Alt
.
* All keys are expected to be lowercase and shortened:
Left Arrow
is left
, Page Down
is pagedown
, Control
is ctrl
, F1
is f1
, Escape
is esc
etc.
* Keys Syntax Example:
* Given the keys
attribute value “ctrl+shift+f7 up pagedown esc space alt+m”, the <iron-a11y-keys>
element will send
the keys-pressed
event if any of the follow key combos are pressed: Control and Shift and F7 keys, Up Arrow key, Page
Down key, Escape key, Space key, Alt and M key.
* Slider Example:
* The following is an example of the set of keys that fulfil the WAI-ARIA “slider” role best
practices:
* <iron-a11y-keys target="{{}}" keys="left pagedown down" on-keys-pressed="{{decrement}}"></iron-a11y-keys>
* <iron-a11y-keys target="{{}}" keys="right pageup up" on-keys-pressed="{{increment}}"></iron-a11y-keys>
* <iron-a11y-keys target="{{}}" keys="home" on-keys-pressed="{{setMin}}"></iron-a11y-keys>
* <iron-a11y-keys target="{{}}" keys="end" on-keys-pressed="{{setMax}}"></iron-a11y-keys>
*
*
*
The increment
function will move the slider a set amount toward the maximum value.
The decrement
function will move the slider a set amount toward the minimum value.
The setMin
function will move the slider to the minimum value.
The setMax
function will move the slider to the maximum value.
* Keys Syntax Grammar:
* EBNF Grammar of the keys
attribute.
* modifier = "shift" | "ctrl" | "alt";
* ascii = ? /[a-z0-9]/ ? ;
* fnkey = ? f1 through f12 ? ;
* arrow = "up" | "down" | "left" | "right" ;
* key = "tab" | "esc" | "space" | "*" | "pageup" | "pagedown" | "home" | "end" | arrow | ascii | fnkey ;
* keycombo = { modifier, "+" }, key ;
* keys = keycombo, { " ", keycombo } ;
*
*
*
*/
@JsType
public interface IronA11yKeysElement extends HTMLElement {
public static final String TAG = "iron-a11y-keys";
public static final String SRC = "iron-a11y-keys/iron-a11y-keys.html";
/**
*
*
* JavaScript Info:
* @property keys
* @type String
*
*/
@JsProperty String getKeys();
/**
*
*
* JavaScript Info:
* @property keys
* @type String
*
*/
@JsProperty void setKeys(String value);
/**
*
*
* JavaScript Info:
* @property target
* @type ?Node
*
*/
@JsProperty JavaScriptObject getTarget();
/**
*
*
* JavaScript Info:
* @property target
* @type ?Node
*
*/
@JsProperty void setTarget(JavaScriptObject value);
/**
*
*
* JavaScript Info:
* @method attached
*
*/
void attached();
/**
* Can be used to imperatively add a key binding to the implementing
element. This is the imperative equivalent of declaring a keybinding
in the keyBindings
prototype property.
*
* JavaScript Info:
* @method addOwnKeyBinding
* @param {} eventString
* @param {} handlerName
* @behavior PaperTabs
*/
void addOwnKeyBinding(JavaScriptObject eventString, JavaScriptObject handlerName);
/**
*
*
* JavaScript Info:
* @property keyBindings
* @type Object
* @behavior PaperTabs
*/
@JsProperty JavaScriptObject getKeyBindings();
/**
*
*
* JavaScript Info:
* @property keyBindings
* @type Object
* @behavior PaperTabs
*/
@JsProperty void setKeyBindings(JavaScriptObject value);
/**
* The HTMLElement that will be firing relevant KeyboardEvents.
*
* JavaScript Info:
* @property keyEventTarget
* @type Object
* @behavior PaperTabs
*/
@JsProperty JavaScriptObject getKeyEventTarget();
/**
* The HTMLElement that will be firing relevant KeyboardEvents.
*
* JavaScript Info:
* @property keyEventTarget
* @type Object
* @behavior PaperTabs
*/
@JsProperty void setKeyEventTarget(JavaScriptObject value);
/**
*
*
* JavaScript Info:
* @method keyboardEventMatchesKeys
* @param {} event
* @param {} eventString
* @behavior PaperTabs
*/
void keyboardEventMatchesKeys(JavaScriptObject event, JavaScriptObject eventString);
/**
* When called, will remove all imperatively-added key bindings.
*
* JavaScript Info:
* @method removeOwnKeyBindings
* @behavior PaperTabs
*/
void removeOwnKeyBindings();
/**
*
*
* JavaScript Info:
* @method detached
* @behavior PaperTabs
*/
void detached();
/**
*
*
* JavaScript Info:
* @property observers
* @type Array
* @behavior PaperTabs
*/
@JsProperty JsArray getObservers();
/**
*
*
* JavaScript Info:
* @property observers
* @type Array
* @behavior PaperTabs
*/
@JsProperty void setObservers(JsArray value);
/**
*
*
* JavaScript Info:
* @method registered
* @behavior PaperTabs
*/
void registered();
}