Skip to content

Releases: medialize/ally.js

1.1.0-beta.3

19 Jan 19:35
Compare
Choose a tag to compare
1.1.0-beta.3 Pre-release
Pre-release

beta.3 release resolves a number of issues regarding browser compatibility concerning focusable state detection. This includes a complete rewrite of the browser focus compatibility test suite and a significant overhaul of the generated data tables.

With beta.3 we shift support from specific browsers to rendering engines, thus treating Opera 34 like Chrome, because they're both based on Blink. This (presumably) increases compatibility for a lot of WebKit based browsers on Android as well.

The only new feature is ally.get.focusRedirectTarget to resolve focus for elements that forward focus to another element. Everything else is considered a refactoring or bug-fix.

Resources

The website - and official documentation - is not published for beta releases.


To install this version run

npm install ally.js@beta

You can also load it from cdnjs or jsDelivr

1.1.0-beta.2

22 Dec 10:30
Compare
Choose a tag to compare
1.1.0-beta.2 Pre-release
Pre-release

beta.2 is concerned with browser compatibility and test automation. This version can be safely loaded - although not executed - in Node.js, which is relevant for "Universal JavaScript".

Resources

The website - and official documentation - is not published for beta releases.


To install this version run

npm install ally.js@beta

You can also load it from cdnjs or jsDelivr

1.1.0-beta.1

12 Dec 16:14
Compare
Choose a tag to compare
1.1.0-beta.1 Pre-release
Pre-release

The website - and official documentation - is not published for beta releases.


To install this version run

npm install ally.js@beta

You can also load it from cdnjs or jsDelivr

1.0.1 (November 20th 2015)

20 Nov 14:07
Compare
Choose a tag to compare
  • aligning package.json in repository and npm artifact for compatibility with cdnjs

This release has no implication for anyone but cdnjs.

1.0.0 - A New Hope

20 Nov 14:07
Compare
Choose a tag to compare

November 18th 2015. We're embarking on a journey to make accessibility simpler. Version 1.0.0 - the official release - of ally.js has been 14 months in the making. But it's only the beginning of a long story - or so I hope.

The mission

Making accessibility simpler (for developers) by providing

  • providing core functionality (not complete solutions)
  • documentation to learn about accessibility requirements
  • the basis figure out how specifications need to evolve
  • a common ground for the community to collaborate

The plan

I've laid the foundation for collaboration. My goals are laid out. Everything is done on github, in the open. Everything is up for discussion. Anyone can join. See contributing to ally.js for more.

The past

Version 1.0.0 is a complete rewrite from the the early 0.0.x releases, there are no breaking changes, it is a giant breaking change. More than 400 commits have been made since 0.0.7, resulting in a few changes:

Breaking changes (compared to 0.0.7)

Renamed Files

  • renamed dom/active-elements.js to get/active-elements.js
  • renamed dom/focus-target.js to get/focus-target.js
  • renamed dom/is-disabled.js to is/disabled.js
  • renamed dom/is-focusable.js to is/focusable.js
  • renamed dom/is-shadowed.js to is/shadowed.js
  • renamed dom/is-tabbable.js to is/tabbable.js
  • renamed dom/is-valid-area.js to is/valid-area.js
  • renamed dom/is-valid-tabindex.js to is/valid-tabindex.js
  • renamed dom/is-visible.js to is/visible.js
  • renamed dom/node-array.js to util/node-array.js
  • renamed dom/path.js to get/parents.js
  • renamed dom/query-focusable.js to query/focusable.js
  • renamed dom/query-tabbable.js to query/tabbable.js
  • renamed dom/query-tabsequence.js to query/tabsequence.js
  • renamed dom/shadow-host-ancestors.js to get/shadow-host-parents.js
  • renamed dom/when-visible.js to when/visible-area.js
  • renamed dom/shadow-host.js to get/shadow-host.js
  • renamed dom/sort-tabindex.js to util/sort-elements-by-tabindex.js
  • renamed dom/visible-quotient.js to util/visible-area.js
  • renamed event/interaction-type-listener.js to observe/interaction-type.js
  • renamed focus/source.js to style/focus-source.js
  • renamed focus/when-visible.js to when/focusable.js
  • renamed focus/within.js to style/focus-within.js
  • renamed focus/disable-focus to maintain/disabled

1.0.0-beta.8

14 Nov 15:01
Compare
Choose a tag to compare
1.0.0-beta.8 Pre-release
Pre-release

Changes compared to 1.0.0-beta-7

  • fixing SourceMaps link in UMD bundle
  • reorganizing dist directory to simplify CommonJS module usage - Issue #53

Changes compared to 1.0.0-beta-6

  • style/focus-source has removed .next() and .repeat() methods
  • added ally.noConflict() to UMD bundle
  • mostly website/docs related changes

Changes compared to 1.0.0-beta-4

  • removing maintain/focus-trapped as it has been deprecated since 0.0.7
  • exposing all internal modules in UMD build as well

Changes compared to 1.0.0-beta-3

  • removing get/parents from public API (ally.get.parents)
  • renaming ally.when.visible to ally.when.visibleArea as the docs say

Changes compared to v0.0.7

  • moving dependencies from bower to npm
  • moving source from AMD to ES6 Module Syntax
  • adding ES6 build infrastructure - issue #1
  • adding unit tests - issue #2
  • adding query/first-tabbable (replacing focus/first) to find the first keyboard focusable element in a sub-tree
  • unifying API of all functions, see the API docs
  • adding strategy: 'strict' option to query/focusable to find elements by filters unavailable to querySelectorAll() - i.e. Shadow DOM without the "Shadow Piercing Descendant Combinator", scrollable containers, -webkit-user-modify: read-write - issue #17, issue #21
  • refactoring is/focusable to also identify "edge-cases" - issue #17, issue #20, issue #21
  • adding is/focus-relevant to identify technically focusable elements (refactored from is/focusable)
  • adding is/only-tabbable to identify elements that cannot be focused by script, but by keyboard
  • removing "dimension check" from is/visible - issue #14
  • query/focusable no longer considers <html> and <body> focusable - issue #31
  • adding element/disabled (refactored from focus/disabled) - issue #33
  • adding when/key to observe simple keyboard input - issue #47
  • adding get/insignificant-branches to find branches not relevant to a given set of elements - issue #32
  • adding maintain/hidden to hide everything in the DOM that is not relevant to a given set of elements - issue #46

Breaking Changes

  • src/ was ES5 and AMD, it is now ES6 - AMD components are now available at dist/amd/
  • dropping focus/first in favor of query/first-tabbable
  • dom/is-valid-area now returns false for elements that are not <area>
  • dom/is-valid-tabindex now returns false for elements without tabindex attribute
  • see the API docs for the new function signatures
  • renaming files in src:
    • dom/active-elements.js to get/active-elements.js
    • dom/focus-target.js to get/focus-target.js
    • dom/is-disabled.js to is/disabled.js
    • dom/is-focusable.js to is/focusable.js
    • dom/is-shadowed.js to is/shadowed.js
    • dom/is-tabbable.js to is/tabbable.js
    • dom/is-valid-area.js to is/valid-area.js
    • dom/is-valid-tabindex.js to is/valid-tabindex.js
    • dom/is-visible.js to is/visible.js
    • dom/node-array.js to util/node-array.js
    • dom/path.js to get/parents.js
    • dom/query-focusable.js to query/focusable.js
    • dom/query-tabbable.js to query/tabbable.js
    • dom/query-tabsequence.js to query/tabsequence.js
    • dom/shadow-host-ancestors.js to get/shadow-host-parents.js
    • dom/when-visible.js to when/visible-area.js
    • dom/shadow-host.js to get/shadow-host.js
    • dom/sort-tabindex.js to util/sort-elements-by-tabindex.js
    • dom/visible-quotient.js to util/visible-area.js
    • event/interaction-type-listener.js to observe/interaction-type.js
    • focus/source.js to style/focus-source.js
    • focus/when-visible.js to when/focusable.js
    • focus/within.js to style/focus-within.js
    • focus/disable-focus to maintain/disabled
    • focus/trap to maintain/focus-trapped

1.0.0-beta.7

14 Nov 14:59
Compare
Choose a tag to compare
1.0.0-beta.7 Pre-release
Pre-release

Changes compared to 1.0.0-beta-6

  • style/focus-source has removed .next() and .repeat() methods
  • added ally.noConflict() to UMD bundle
  • mostly website/docs related changes

Changes compared to 1.0.0-beta-4

  • removing maintain/focus-trapped as it has been deprecated since 0.0.7
  • exposing all internal modules in UMD build as well

Changes compared to 1.0.0-beta-3

  • removing get/parents from public API (ally.get.parents)
  • renaming ally.when.visible to ally.when.visibleArea as the docs say

Changes compared to v0.0.7

  • moving dependencies from bower to npm
  • moving source from AMD to ES6 Module Syntax
  • adding ES6 build infrastructure - issue #1
  • adding unit tests - issue #2
  • adding query/first-tabbable (replacing focus/first) to find the first keyboard focusable element in a sub-tree
  • unifying API of all functions, see the API docs
  • adding strategy: 'strict' option to query/focusable to find elements by filters unavailable to querySelectorAll() - i.e. Shadow DOM without the "Shadow Piercing Descendant Combinator", scrollable containers, -webkit-user-modify: read-write - issue #17, issue #21
  • refactoring is/focusable to also identify "edge-cases" - issue #17, issue #20, issue #21
  • adding is/focus-relevant to identify technically focusable elements (refactored from is/focusable)
  • adding is/only-tabbable to identify elements that cannot be focused by script, but by keyboard
  • removing "dimension check" from is/visible - issue #14
  • query/focusable no longer considers <html> and <body> focusable - issue #31
  • adding element/disabled (refactored from focus/disabled) - issue #33
  • adding when/key to observe simple keyboard input - issue #47
  • adding get/insignificant-branches to find branches not relevant to a given set of elements - issue #32
  • adding maintain/hidden to hide everything in the DOM that is not relevant to a given set of elements - issue #46

Breaking Changes

  • src/ was ES5 and AMD, it is now ES6 - AMD components are now available at dist/amd/
  • dropping focus/first in favor of query/first-tabbable
  • dom/is-valid-area now returns false for elements that are not <area>
  • dom/is-valid-tabindex now returns false for elements without tabindex attribute
  • see the API docs for the new function signatures
  • renaming files in src:
    • dom/active-elements.js to get/active-elements.js
    • dom/focus-target.js to get/focus-target.js
    • dom/is-disabled.js to is/disabled.js
    • dom/is-focusable.js to is/focusable.js
    • dom/is-shadowed.js to is/shadowed.js
    • dom/is-tabbable.js to is/tabbable.js
    • dom/is-valid-area.js to is/valid-area.js
    • dom/is-valid-tabindex.js to is/valid-tabindex.js
    • dom/is-visible.js to is/visible.js
    • dom/node-array.js to util/node-array.js
    • dom/path.js to get/parents.js
    • dom/query-focusable.js to query/focusable.js
    • dom/query-tabbable.js to query/tabbable.js
    • dom/query-tabsequence.js to query/tabsequence.js
    • dom/shadow-host-ancestors.js to get/shadow-host-parents.js
    • dom/when-visible.js to when/visible-area.js
    • dom/shadow-host.js to get/shadow-host.js
    • dom/sort-tabindex.js to util/sort-elements-by-tabindex.js
    • dom/visible-quotient.js to util/visible-area.js
    • event/interaction-type-listener.js to observe/interaction-type.js
    • focus/source.js to style/focus-source.js
    • focus/when-visible.js to when/focusable.js
    • focus/within.js to style/focus-within.js
    • focus/disable-focus to maintain/disabled
    • focus/trap to maintain/focus-trapped

1.0.0-beta.6

08 Nov 16:20
Compare
Choose a tag to compare
1.0.0-beta.6 Pre-release
Pre-release

Changes compared to 1.0.0-beta-4

  • removing maintain/focus-trapped as it has been deprecated since 0.0.7
  • exposing all internal modules in UMD build as well

Changes compared to 1.0.0-beta-3

  • removing get/parents from public API (ally.get.parents)
  • renaming ally.when.visible to ally.when.visibleArea as the docs say

Changes compared to v0.0.7

  • moving dependencies from bower to npm
  • moving source from AMD to ES6 Module Syntax
  • adding ES6 build infrastructure - issue #1
  • adding unit tests - issue #2
  • adding query/first-tabbable (replacing focus/first) to find the first keyboard focusable element in a sub-tree
  • unifying API of all functions, see the API docs
  • adding strategy: 'strict' option to query/focusable to find elements by filters unavailable to querySelectorAll() - i.e. Shadow DOM without the "Shadow Piercing Descendant Combinator", scrollable containers, -webkit-user-modify: read-write - issue #17, issue #21
  • refactoring is/focusable to also identify "edge-cases" - issue #17, issue #20, issue #21
  • adding is/focus-relevant to identify technically focusable elements (refactored from is/focusable)
  • adding is/only-tabbable to identify elements that cannot be focused by script, but by keyboard
  • removing "dimension check" from is/visible - issue #14
  • query/focusable no longer considers <html> and <body> focusable - issue #31
  • adding element/disabled (refactored from focus/disabled) - issue #33
  • adding when/key to observe simple keyboard input - issue #47
  • adding get/insignificant-branches to find branches not relevant to a given set of elements - issue #32
  • adding maintain/hidden to hide everything in the DOM that is not relevant to a given set of elements - issue #46

Breaking Changes

  • src/ was ES5 and AMD, it is now ES6 - AMD components are now available at dist/amd/
  • dropping focus/first in favor of query/first-tabbable
  • dom/is-valid-area now returns false for elements that are not <area>
  • dom/is-valid-tabindex now returns false for elements without tabindex attribute
  • see the API docs for the new function signatures
  • renaming files in src:
    • dom/active-elements.js to get/active-elements.js
    • dom/focus-target.js to get/focus-target.js
    • dom/is-disabled.js to is/disabled.js
    • dom/is-focusable.js to is/focusable.js
    • dom/is-shadowed.js to is/shadowed.js
    • dom/is-tabbable.js to is/tabbable.js
    • dom/is-valid-area.js to is/valid-area.js
    • dom/is-valid-tabindex.js to is/valid-tabindex.js
    • dom/is-visible.js to is/visible.js
    • dom/node-array.js to util/node-array.js
    • dom/path.js to get/parents.js
    • dom/query-focusable.js to query/focusable.js
    • dom/query-tabbable.js to query/tabbable.js
    • dom/query-tabsequence.js to query/tabsequence.js
    • dom/shadow-host-ancestors.js to get/shadow-host-parents.js
    • dom/when-visible.js to when/visible-area.js
    • dom/shadow-host.js to get/shadow-host.js
    • dom/sort-tabindex.js to util/sort-elements-by-tabindex.js
    • dom/visible-quotient.js to util/visible-area.js
    • event/interaction-type-listener.js to observe/interaction-type.js
    • focus/source.js to style/focus-source.js
    • focus/when-visible.js to when/focusable.js
    • focus/within.js to style/focus-within.js
    • focus/disable-focus to maintain/disabled
    • focus/trap to maintain/focus-trapped

1.0.0-beta.4 - preview 4

31 Oct 12:20
Compare
Choose a tag to compare
Pre-release

Changes compared to 1.0.0-beta-3

  • removing get/parents from public API (ally.get.parents)
  • renaming ally.when.visible to ally.when.visibleArea as the docs say

Changes compared to v0.0.7

  • moving dependencies from bower to npm
  • moving source from AMD to ES6 Module Syntax
  • adding ES6 build infrastructure - issue #1
  • adding unit tests - issue #2
  • adding query/first-tabbable (replacing focus/first) to find the first keyboard focusable element in a sub-tree
  • unifying API of all functions, see the API docs
  • adding strategy: 'strict' option to query/focusable to find elements by filters unavailable to querySelectorAll() - i.e. Shadow DOM without the "Shadow Piercing Descendant Combinator", scrollable containers, -webkit-user-modify: read-write - issue #17, issue #21
  • refactoring is/focusable to also identify "edge-cases" - issue #17, issue #20, issue #21
  • adding is/focus-relevant to identify technically focusable elements (refactored from is/focusable)
  • adding is/only-tabbable to identify elements that cannot be focused by script, but by keyboard
  • removing "dimension check" from is/visible - issue #14
  • query/focusable no longer considers <html> and <body> focusable - issue #31
  • adding element/disabled (refactored from focus/disabled) - issue #33
  • adding when/key to observe simple keyboard input - issue #47
  • adding get/insignificant-branches to find branches not relevant to a given set of elements - issue #32
  • adding maintain/hidden to hide everything in the DOM that is not relevant to a given set of elements - issue #46

Breaking Changes

  • src/ was ES5 and AMD, it is now ES6 - AMD components are now available at dist/amd/
  • dropping focus/first in favor of query/first-tabbable
  • dom/is-valid-area now returns false for elements that are not <area>
  • dom/is-valid-tabindex now returns false for elements without tabindex attribute
  • see the API docs for the new function signatures
  • renaming files in src:
    • dom/active-elements.js to get/active-elements.js
    • dom/focus-target.js to get/focus-target.js
    • dom/is-disabled.js to is/disabled.js
    • dom/is-focusable.js to is/focusable.js
    • dom/is-shadowed.js to is/shadowed.js
    • dom/is-tabbable.js to is/tabbable.js
    • dom/is-valid-area.js to is/valid-area.js
    • dom/is-valid-tabindex.js to is/valid-tabindex.js
    • dom/is-visible.js to is/visible.js
    • dom/node-array.js to util/node-array.js
    • dom/path.js to get/parents.js
    • dom/query-focusable.js to query/focusable.js
    • dom/query-tabbable.js to query/tabbable.js
    • dom/query-tabsequence.js to query/tabsequence.js
    • dom/shadow-host-ancestors.js to get/shadow-host-parents.js
    • dom/when-visible.js to when/visible-area.js
    • dom/shadow-host.js to get/shadow-host.js
    • dom/sort-tabindex.js to util/sort-elements-by-tabindex.js
    • dom/visible-quotient.js to util/visible-area.js
    • event/interaction-type-listener.js to observe/interaction-type.js
    • focus/source.js to style/focus-source.js
    • focus/when-visible.js to when/focusable.js
    • focus/within.js to style/focus-within.js
    • focus/disable-focus to maintain/disabled
    • focus/trap to maintain/focus-trapped

1.0.0-beta.3 - preview 3

31 Oct 09:26
Compare
Choose a tag to compare
Pre-release

Changes compared to v0.0.7

  • moving dependencies from bower to npm
  • moving source from AMD to ES6 Module Syntax
  • adding ES6 build infrastructure - issue #1
  • adding unit tests - issue #2
  • adding query/first-tabbable (replacing focus/first) to find the first keyboard focusable element in a sub-tree
  • unifying API of all functions, see the API docs
  • adding strategy: 'strict' option to query/focusable to find elements by filters unavailable to querySelectorAll() - i.e. Shadow DOM without the "Shadow Piercing Descendant Combinator", scrollable containers, -webkit-user-modify: read-write - issue #17, issue #21
  • refactoring is/focusable to also identify "edge-cases" - issue #17, issue #20, issue #21
  • adding is/focus-relevant to identify technically focusable elements (refactored from is/focusable)
  • adding is/only-tabbable to identify elements that cannot be focused by script, but by keyboard
  • removing "dimension check" from is/visible - issue #14
  • query/focusable no longer considers <html> and <body> focusable - issue #31
  • adding element/disabled (refactored from focus/disabled) - issue #33
  • adding when/key to observe simple keyboard input - issue #47
  • adding get/insignificant-branches to find branches not relevant to a given set of elements - issue #32
  • adding maintain/hidden to hide everything in the DOM that is not relevant to a given set of elements - issue #46

Breaking Changes

  • src/ was ES5 and AMD, it is now ES6 - AMD components are now available at dist/amd/
  • dropping focus/first in favor of query/first-tabbable
  • dom/is-valid-area now returns false for elements that are not <area>
  • dom/is-valid-tabindex now returns false for elements without tabindex attribute
  • see the API docs for the new function signatures
  • renaming files in src:
    • dom/active-elements.js to get/active-elements.js
    • dom/focus-target.js to get/focus-target.js
    • dom/is-disabled.js to is/disabled.js
    • dom/is-focusable.js to is/focusable.js
    • dom/is-shadowed.js to is/shadowed.js
    • dom/is-tabbable.js to is/tabbable.js
    • dom/is-valid-area.js to is/valid-area.js
    • dom/is-valid-tabindex.js to is/valid-tabindex.js
    • dom/is-visible.js to is/visible.js
    • dom/node-array.js to util/node-array.js
    • dom/path.js to get/parents.js
    • dom/query-focusable.js to query/focusable.js
    • dom/query-tabbable.js to query/tabbable.js
    • dom/query-tabsequence.js to query/tabsequence.js
    • dom/shadow-host-ancestors.js to get/shadow-host-parents.js
    • dom/when-visible.js to when/visible-area.js
    • dom/shadow-host.js to get/shadow-host.js
    • dom/sort-tabindex.js to util/sort-elements-by-tabindex.js
    • dom/visible-quotient.js to util/visible-area.js
    • event/interaction-type-listener.js to observe/interaction-type.js
    • focus/source.js to style/focus-source.js
    • focus/when-visible.js to when/focusable.js
    • focus/within.js to style/focus-within.js
    • focus/disable-focus to maintain/disabled
    • focus/trap to maintain/focus-trapped