2.0.2 • Published 10 months ago

@frankhoodbs/a11y-support v2.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
10 months ago

A11y Support

A collection of JavaScript utilities designed to enhance web accessibility and improve user experience. This module leverages powerful features from the ally.js library, focus-trap, and body-scroll-lock.

Features

  1. Focus management:

    • Directly focus on a specific element.
    • Determine if a given element is the currently active one.
    • Quickly query focusable elements.
    • Trap user focus within a specific element.
    • Focus on the first element within a given context.
  2. Scroll management:

    • Lock the body's scroll, while keeping the designated target element scrollable.
    • Unlock the body's scroll. If a target element is provided, it re-enables scrolling for that specific element. If no target is provided, it clears all body scroll locks.
  3. Utilities:

    • Convert boolean values to their string representation ('true' or 'false').

Usage

Here are some of the primary utilities and their descriptions:

Focus Management

  • elementFocus(element: HTMLElement): Focuses the given element.

  • isActiveElement(element: HTMLElement): Checks if the given element is currently active.

  • createFocusTrap(element: HTMLElement): Creates a focus trap for the given element, which is useful for modals and other UI components where trapping user focus is essential.

  • firstElementFocus(context: string | HTMLElement): Focuses on the first element within the provided context.

Scroll Management

  • lockBodyScroll(target: HTMLElement): Locks the body's scroll while allowing the specified target element to remain scrollable.

  • unlockBodyScroll(target?: HTMLElement): Unlocks the body's scroll. If a target element is provided, it re-enables scrolling for that particular element. If no target is specified, it clears all body scroll locks.

Utilities

  • boolToString(value: boolean): Converts a boolean value to its string representation ('true' or 'false').

Dependencies

2.0.2

10 months ago

2.0.1

10 months ago

1.2.12

10 months ago

1.2.11

10 months ago

1.2.9

1 year ago

1.2.10

1 year ago

1.2.8

1 year ago

1.2.7

1 year ago

1.2.4

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

1.2.0

1 year ago

1.2.1

1 year ago

1.1.19

1 year ago

1.1.16

1 year ago

1.1.14

1 year ago

1.1.18

1 year ago

1.1.17

1 year ago

1.1.13

1 year ago

1.1.12

1 year ago

1.1.11

1 year ago

1.1.10

1 year ago

1.1.9

1 year ago

1.1.8

1 year ago

1.1.7

1 year ago

1.1.6

1 year ago

1.1.1

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago