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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aria-ease",
3
- "version": "1.1.7",
3
+ "version": "1.1.9",
4
4
  "description": "Out of the box utility accessibility package to develop production ready applications.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -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 = false;
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 = false;
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
- tabItem.addEventListener('keydown', (event: KeyboardEvent) => handleKeyPress(event, tabItems, tabItemIndex))
19
- eventListenersAdded = true
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':