1.4.0 - The SVG Awakens
January 12th 2017. We're continuing our journey to make accessibility simpler (by advancing our understanding of the "platform"). Version 1.4.0 comes 4 months after the last feature release. We pushed about 50 commits in an effort to understand focus behavior in SVG, update the build systems and upgrade automated testing to modern browser versions.
The highlights of v1.4.0
- Improving utilities for convenient and safe
.focus()
,.blur()
to properly support SVG content - Improving identification of focusable status of SVG content
- Upgrading babel from version 5.x to 6.x, by providing AMD modules via UMD bundles
- Upgrading to eslint from version 2.x to 3.x, switching to (slightly customized) eslint-config-semistandard
The numbers of v1.4.0
- Test coverage remained at ~99%
- The library grew from ~22KB to ~23KB gzipped (~73KB to ~76KB minified)
The changes of v1.4.0
The following lists show the changes to the library grouped by domain.
Focus management in v1.4.0
- Improving
ally.element.focus
to focus SVG elements in MS Edge - Improving
ally.element.blur
to remove focus from SVG elements in MS Edge and Firefox <51
Various in v1.4.0
- fixing
ally.is.validTabindex
to account for wrong-casedtabIndex
attribute on SVG elements in MS Edge 14 - fixing
ally.is.focusRelevant
to understandtabindex
on SVG in Firefox and MS Edge - fixing
ally.is.focusRelevant
to understand<use tabindex="-1">
- fixing
ally.is.focusRelevant
to understand<foreignObject tabindex="-1">
- fixing
ally.is.focusRelevant
to include<svg>
when it is its own browsing context in Firefox - fixing
ally.is.tabbable
to consider SVG content tabbable in Firefox and Internet Explorer - fixing
ally.is.tabbable
to consider SVG elements in browsing contexts in Blink - fixing
ally.is.tabbable
to considertabindex="-1"
on SVG elements in<object>
in Edge - fixing
ally.is.tabbable
to consider<use … tabindex="-1">
tabbable in Chrome - fixing
ally.is.tabbable
to remove iOS version restriction on filter - fixing
ally.is.onlyTabbable
to stop considering SVG elements in IE, Edge and Firefox 51+ - fixing
ally.query.tabsequence
to properly sort SVG elements with tabindex in Edge 14+
Internals in v1.4.0
- refactoring supports to pass focused element to validation callback
- refactoring supports to properly test support of SVG elements in Trident
- refactoring
ally.style.focusSource
andally.style.focusWithin
to optimizefocusin
orfocus
event name detection - fixing various linting errors after upgrading to eslint 3 and semistandard
Build in v1.4.0
- upgrading babel from 5.x to 6.x - issue #51
- upgrading eslint from 2.x to 3.x
- introducing eslint-config-semistandard
- upgrading lint-staged
- upgrading intern to 3.4.2
- upgrading TravisCI to run build and tests on NodeJS 6.1
Documentation in v1.4.0
- adding Managing focus in SVG
- adding various notes to API docs
Testing of v1.4.0
- Internet Explorer 9, 10, 11
- Edge 13, 14 (15 manually)
- Safari 8, 9, 10 (6.2 and 7.1 were dropped from automated tests)
- Chrome 55
- Firefox 50, 50 with ShadowDOM enabled
Missing in v1.4.0
- MathML elements may be focusable
- Shadow DOM focus behavior may have changed from v0 to v1