Skip to content

1.3.0 - Return Of The Focus

Compare
Choose a tag to compare
@rodneyrehm rodneyrehm released this 17 Sep 14:42
· 87 commits to master since this release
6acb981

September 17th 2016. We're continuing our journey to make accessibility simpler. Version 1.3.0 comes 6 months after the last feature release. We pushed about 90 commits in an effort to reduce the bundle's file size, improve startup performance, convert test suites to BDD and add DOM focus utilities.

The highlights of v1.3.0

  • Smaller bundle file size
  • Removed all polyfills modifying DOM prototypes
  • Added utilities for convenient and safe .focus(), .blur(), and obtaining the active element
  • Test suites converted to BDD style

The numbers of v1.3.0

  • ☻ Test coverage remained at ~99%
  • ☻ The library shrunk from ~28KB to ~22KB gzipped (~126KB to ~73KB minified) - yes, we dropped ~40% by losing the DOMTokenList shim in v1.2.0 and introducing rollupify

The changes of v1.3.0

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

Focus management in v1.3.0

Keyboard support in v1.3.0

Various in v1.3.0

Internals in v1.3.0

  • running all supports tests in a batch to limit number of reflows - issue #142
  • removing svgelement.prototype.focus as this should be covered more elegantly by ally.element.focus
  • refactoring element.prototype.matches to util/matches-element

Build in v1.3.0

  • adding rollupify to reduce package overhead in build bundle
  • switching to lint-staged for faster linting during git pre-commit
  • replacing broken metalsmith-packagejson plugin - issue #149
  • refactoring all unit and functional tests to use BDD interface to improve clarity of a test's intent
  • simplify running local tests in a non-WebDriver browser

Documentation in v1.3.0

Testing of 1.3.0

Intern unit and functional tests have been run for the following browsers, covering 99% of the library's code:

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

Missing in 1.3.0

In order to avoid shipping any more temporary code than we already do in the focusable detection code, we'll provide a separate release once we've properly investigated the following behavioral changes:

  • Firefox 51 and Edge 14 ship some sort of support for the tabindex attribute on SVG elements
  • Chrome 55 seems to have changed keyboard focusability of SVG content within <object> elements
  • SVG <use> elements may be focusable depending on the content they reference
  • MathML elements may be focusable