Permalink
Fetching contributors…
Cannot retrieve contributors at this time
155 lines (92 sloc) 7.15 KB
layout
doc-page.html

API index

When creating web applications or UI widgets these modules may come in handy.

Countering browser bugs

Every software has its problems - so do browsers. These utilities combat things browsers get wrong.

Extended :focus Styling

Sometimes :focus is not enough for communicating your application's intentions properly.

Altering browser focus behavior

While it's best to use standardized features and leave browsers to figure things out, specifications sometimes leave us hanging in limbo.

Finding elements

In order to work with focusable elements, we must first know which elements we're supposed to work with. See what does "focusable" mean? for a differentiation.

Element state

Unlike any other ally modules, these components do not take take options.context argument, but expect the element as first argument, allowing easy use in .filter(). See what does "focusable" mean? for a differentiation.

Manipulating element state

Making up for missing or lacking DOM mutation APIs.

Reacting to element state

Especially when dealing with transitional user interfaces we need to know when an element can be safely focused.

DOM traversal

Sometimes you need some DOM traversal utilities

Values


Developer modules

When creating libraries these modules may come in handy.

:::note When you find yourself using one of these in your application code, we should talk about what you're trying to achieve and how we could do that as part of the library instead. Get in touch, file an issue explaining what you're trying to achieve! :::

DOM traversal (extended)

Sometimes you need some DOM traversal utilities

Event dispatchers

Emitting events when there's no standardized equivalent

Event listeners

Translate volatile events to stateful interfaces


Contributor modules

When working on ally.js these modules may come in handy.

:::note When you find yourself using one of these in your application or library code, we should talk about what you're trying to achieve and how we could do that as part of the library instead. Get in touch, file an issue explaining what you're trying to achieve! :::

::note These modules are only available to be consumed via ES6, AMD or CommonJS directly, they are not exposed in the production bundle dist/ally.min.js. :::

The internal tools are documented in a less accessible way to make it just a tiny bit harder for someone not working on ally to use them. This is intentional. The stability of these APIs is not guaranteed.