a11y-tools

1.0.1 • Public • Published

A11y Tools

NPM version Bundle size GitHub license

Collection of simple accessibility helpers.

Installation

npm install a11y-tools

ARIA

Hide/Show

import { ariaHide, ariaShow } from 'a11y-tools'

ariaHide(element) // set aria-hidden="true"
ariaShow(element) // set aria-hidden="false"

Disable/Enable

import { ariaDisable, ariaEnable } from 'a11y-tools'

ariaDisable(element) // set aria-disabled="true"
ariaEnable(element)  // set aria-disabled="false"

Input States

import { ariaCheck, ariaUncheck, ariaSelect, ariaUnselect, ariaPress, ariaUnpress } from 'a11y-tools'

ariaCheck(element)    // set aria-checked="true"
ariaUncheck(element)  // set aria-checked="false"

ariaSelect(element)   // set aria-selected="true"
ariaUnselect(element) // set aria-selected="false"

ariaPress(element)    // set aria-pressed="true"
ariaUnpress(element)  // set aria-pressed="false"

Current

import { ariaCurrent } from 'a11y-tools'

ariaCurrent(element)         // set aria-current="true"
ariaCurrent(element, false)  // set aria-current="false"
ariaCurrent(element, 'page') // set aria-current="page"
ariaCurrent(element, null)   // remove aria-current

Expand/Contract

element = Toggle element (button) label = Text content of toggle element container = Content container (DOM element)

import { ariaExpand, ariaContract } from 'a11y-tools'

ariaExpand(element)   // set aria-expanded="true"
ariaContract(element) // set aria-expanded="false"

ariaExpand(element, { container, label = 'Close' })
ariaContract(element, { container, label = 'Open' })

Focus

Trap focus

import { trapFocus } from 'a11y-tools'

// Trap focus inside element
const focusTrapUndoFunction = trapFocus(element, {
  unfocusElements: true // aria-hide sibling containers?
})

// Restore focus to previously focused element
focusTrapUndoFunction()

Focus element

import { focus } from 'a11y-tools'

// Focus first tabbable child element without scrolling to it
focus(element, { scroll: false })

Speech

Announce to screenreaders

import { speak } from 'a11y-tools'

speak('Navigated to page: About')

License

MIT

Package Sidebar

Install

npm i a11y-tools

Weekly Downloads

2

Version

1.0.1

License

MIT

Unpacked Size

131 kB

Total Files

16

Last publish

Collaborators

  • daun