Skip to content

Latest commit

 

History

History
275 lines (208 loc) · 18.4 KB

CHANGELOG.md

File metadata and controls

275 lines (208 loc) · 18.4 KB

ally.js change log

master

will eventually be released as 1.1.0 - see milestone

Changes

The following lists show the changes to the library grouped by domain.

Browsers

  • Adding full support for Internet Explorer 9 - issue #71
  • Adding full support for Microsoft Edge 12, 13
  • Adding full support for Opera 34 (Blink based, behaves like Chrome)
  • Adding manual focusable tests for Safari 6 and 8 on OSX
  • Dropping manual focusable tests for Safari on iOS 8, keeping Safari on iOS 9
  • Dropping manual focusable tests for Mobile Chrome on Android 4.4, keeping Mobile Chrome on Android 5.1

Dependencies

Browser Behavior

Focusable detection

Keyboard support

Internals

  • fixing ally.is.* to work with other documents (e.g. iframes) - issue #78
  • fixing supports/* to not raise network errors - issue #68
  • fixing supports/* to run when required instead of on script load, restore scroll position - issue #60
  • fixing supports/supports-cache to respect ally.js version change
  • fixing supports/focus-label-tabindex in Chrome 49
  • fixing ShadowDOM related unit tests in WebKit
  • fixing SVGElement.prototype.focus to identify Microsoft Edge 13
  • changing modules to be able to load in non-browser environments - issue #92
  • changing user agent sniffing from detecting browser to rendering engine - issue #97
  • refactoring is/is.util.js to extract image map related functions into utils/image-map
  • refactoring is/focus-relevant and is/tabbable to allow running the identification with execptions via is/focus-relevant.rules and is/tabbable.rules, while maintaining module signature
  • refactoring console.log() to go through util/logger

Testing

Intern unit and functional tests are now run for the following browsers:

  • Internet Explorer 9, 10, 11
  • Safari 6.2, 7.1, 8, 9
  • Chrome 47
  • Firefox 42, 42 with ShadowDOM enabled

Intern unit tests are run manually for the following browsers:

  • Microsoft Edge 12, 13

Sources

  • renamed src/util/sort-elements-by-tabindex.js to src/query/tabsequence.sort-tabindex.js

1.0.1 (November 20th 2015)

  • aligning package.json in repository and npm artifact for compatibility with cdnjs

1.0.0 - A New Hope

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

0.0.7 (July 8th 2015)

  • adding event/shadow-focus to emit custom event when focus changes within the Shadow DOM - extracted from focus/within
  • adding event/interaction-type-listener to track user input to differentiate keyboard and pointer input
  • adding focus/source to allow styling of :focus dependent on user input (keyboard, pinter, script)
  • adding focus/disable-focus to render elements inert and remove them from the document's focus navigation sequence
  • deprecating focus/trap, use focus/disable-focus instead

0.0.6 (June 17th 2015)

0.0.5 (June 15th 2015)

0.0.4 (February 3rd 2015)

0.0.3 (January 7th 2015)

  • adding fix-browser/pointer-focus-children
  • adding dom/focus-target to find the first focusable element in an element's ancestry
  • improving fix-browser/pointer-focus-parent for less complexity
  • improving fix-browser by only engaging handlers for affected browsers (yes, user agent sniffing, deal with it)
  • fixing dom/is-visible to look at computed styles, not the element's styles (duh!)

0.0.2 (January 5th 2015)

  • adding fix-browser/pointer-focus-input
  • adding dom/active-elements to identify the actually focsued element and its host elements in ShadowDOM
  • adding focus/within to "polyfill" :focus-within
  • adding warning to browser support detection when document does not have focus
  • adding supports/supports-cache to store browser compatibility data
  • adding focus/first to identify and focus the first [autofocus] or non positive tabindex ([tabindex=1]) element
  • adding dom/query-domsequence to separate sorting and mutating the list from dom/query-tabbable
  • improving fix-browser/pointer-focus-parent for fewer DOM interactions and less code
  • improving focus/trap to allow nothing being focus and re-acquire focus when required
  • improving selector/focusable (thus dom/query-focusable) by also finding focusable shadowed elements (via >>> or /deep/, ShadowDOM) - #11
  • fixing event/active-element to be dispatched on document rather than document.body
  • fixing prototype/svgelement.prototype.focus to also cover SVGElement.prototype.blur
  • fixing linting errors

0.0.1 (December 25th 2014)

  • initial release "focus"