aria-ease 1.1.7 → 1.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @param {string} menuId The id of the menu
|
|
4
4
|
* @param {string} menuItemClass The class of the items that are children of the menu
|
|
5
5
|
*/
|
|
6
|
-
var eventListenersAdded =
|
|
6
|
+
var eventListenersAdded = new Set();
|
|
7
7
|
export function makeMenuAccessible(menuId, menuItemClass) {
|
|
8
8
|
var menuDiv = document.querySelector("#".concat(menuId));
|
|
9
9
|
var menuItems = menuDiv.querySelectorAll(".".concat(menuItemClass));
|
|
@@ -11,13 +11,12 @@ export function makeMenuAccessible(menuId, menuItemClass) {
|
|
|
11
11
|
var triggerButton = document.querySelector("#".concat(triggerId));
|
|
12
12
|
menuItems.item(0).focus();
|
|
13
13
|
menuItems.forEach(function (menuItem, menuItemIndex) {
|
|
14
|
-
if (!eventListenersAdded) {
|
|
14
|
+
if (!eventListenersAdded.has(menuItem)) {
|
|
15
|
+
eventListenersAdded.add(menuItem);
|
|
15
16
|
menuItem.addEventListener('keydown', function (event) { return handleKeyPress(event, menuItems, menuItemIndex); });
|
|
16
|
-
eventListenersAdded = true;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
function handleKeyPress(event, menuItems, menuItemIndex) {
|
|
20
|
-
event.preventDefault();
|
|
21
20
|
switch (event.key) {
|
|
22
21
|
case 'ArrowUp':
|
|
23
22
|
case 'ArrowLeft':
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import { HTMLElement, NodeListOfHTMLElement } from '../../Types'
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
let eventListenersAdded: boolean = false
|
|
9
|
+
let eventListenersAdded: Set<HTMLElement> = new Set();
|
|
11
10
|
|
|
12
11
|
export function makeMenuAccessible(menuId: string, menuItemClass: string): void {
|
|
13
12
|
const menuDiv: HTMLElement = document.querySelector(`#${menuId}`) as HTMLElement
|
|
@@ -18,14 +17,13 @@ export function makeMenuAccessible(menuId: string, menuItemClass: string): void
|
|
|
18
17
|
|
|
19
18
|
menuItems.item(0).focus();
|
|
20
19
|
menuItems.forEach((menuItem: HTMLElement, menuItemIndex: number): void => {
|
|
21
|
-
if(!eventListenersAdded) {
|
|
20
|
+
if (!eventListenersAdded.has(menuItem)) {
|
|
21
|
+
eventListenersAdded.add(menuItem);
|
|
22
22
|
menuItem.addEventListener('keydown', (event: KeyboardEvent): void => handleKeyPress(event, menuItems, menuItemIndex))
|
|
23
|
-
eventListenersAdded = true
|
|
24
23
|
}
|
|
25
24
|
})
|
|
26
25
|
|
|
27
26
|
function handleKeyPress(event: KeyboardEvent, menuItems: NodeListOfHTMLElement, menuItemIndex: number): void {
|
|
28
|
-
event.preventDefault()
|
|
29
27
|
switch(event.key) {
|
|
30
28
|
case 'ArrowUp':
|
|
31
29
|
case 'ArrowLeft':
|
|
@@ -3,18 +3,17 @@
|
|
|
3
3
|
* @param {string} tabId The id of the tab
|
|
4
4
|
* @param {string} tabItemClass The class of the items that are children of the tab
|
|
5
5
|
*/
|
|
6
|
-
var eventListenersAdded =
|
|
6
|
+
var eventListenersAdded = new Set();
|
|
7
7
|
export function makeTabAccessible(tabId, tabItemClass) {
|
|
8
8
|
var tabDiv = document.querySelector("#".concat(tabId));
|
|
9
9
|
var tabItems = tabDiv.querySelectorAll(".".concat(tabItemClass));
|
|
10
10
|
tabItems.forEach(function (tabItem, tabItemIndex) {
|
|
11
|
-
if (!eventListenersAdded) {
|
|
11
|
+
if (!eventListenersAdded.has(tabItem)) {
|
|
12
|
+
eventListenersAdded.add(tabItem);
|
|
12
13
|
tabItem.addEventListener('keydown', function (event) { return handleKeyPress(event, tabItems, tabItemIndex); });
|
|
13
|
-
eventListenersAdded = true;
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
function handleKeyPress(event, tabItems, tabItemIndex) {
|
|
17
|
-
event.preventDefault();
|
|
18
17
|
switch (event.key) {
|
|
19
18
|
case 'ArrowUp':
|
|
20
19
|
case 'ArrowLeft':
|
|
@@ -6,22 +6,20 @@
|
|
|
6
6
|
|
|
7
7
|
import { HTMLElement, NodeListOfHTMLElement } from "../../Types"
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
let eventListenersAdded: boolean = false
|
|
9
|
+
let eventListenersAdded: Set<HTMLElement> = new Set();
|
|
11
10
|
|
|
12
11
|
export function makeTabAccessible(tabId: string, tabItemClass: string): void {
|
|
13
12
|
const tabDiv: HTMLElement = document.querySelector(`#${tabId}`) as HTMLElement
|
|
14
13
|
const tabItems: NodeListOfHTMLElement = tabDiv.querySelectorAll(`.${tabItemClass}`)
|
|
15
14
|
|
|
16
15
|
tabItems.forEach((tabItem: HTMLElement, tabItemIndex: number): void => {
|
|
17
|
-
if(!eventListenersAdded) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
16
|
+
if (!eventListenersAdded.has(tabItem)) {
|
|
17
|
+
eventListenersAdded.add(tabItem);
|
|
18
|
+
tabItem.addEventListener('keydown', (event: KeyboardEvent) => handleKeyPress(event, tabItems, tabItemIndex));
|
|
19
|
+
}
|
|
20
|
+
});
|
|
22
21
|
|
|
23
22
|
function handleKeyPress(event: KeyboardEvent, tabItems: NodeListOfHTMLElement, tabItemIndex: number): void {
|
|
24
|
-
event.preventDefault()
|
|
25
23
|
switch(event.key) {
|
|
26
24
|
case 'ArrowUp':
|
|
27
25
|
case 'ArrowLeft':
|