Skip to content

1.0.0-beta.3 - preview 3

Pre-release
Pre-release
Compare
Choose a tag to compare
@rodneyrehm rodneyrehm released this 31 Oct 09:26

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