Comments (13)
I like the idea. However I have to emphasize that ally.js supports IE10+. If jQueryUI has a similar lower boundary, this isn't a problem, but if we need to support IE8, I expect a whole lot of work ahead of us (at least regarding testing).
Current development is going on in the master branch for 1.0.0, github shows the last version 0.0.7 in the stable branch. There are only a few things left for properly releasing 1.0.0, of which the bulk constitutes website and documentation. After fixing the remaining issues, I'll prepare 1.0.0-beta1
(still hoping to get this done early October).
ally.js is architected in a modular fashion, allowing jQueryUI to only use the relevant focusable/tabbable features, without importing any of the other stuff. The document what does focusable mean gives an overview of the modules most relevant to your use case. Modules are available in ES6 (source), AMD and CommonJS.
I guess the first step would be to make ui/focusable run is/focusable, and ui/tabbable run is/focusable and is/tabbable.
Since I have more goals for ally.js, I was considering providing a separate accessibility.jquery.js
plugin, that makes this stuff available independent of jQueryUI. Is that something worth considering for a second step?
As the compatibility tables are not hosted on github yet, here are some snapshots:
- focusable elements
- focus redirecting elements
- jQuery UI compat
- ally.js "strict" (using
TreeWalker
) - ally.js "quick" (using
querySelectorAll()
)
from ally.js.
The browser support is a problem, since the next jQuery UI release still supports IE8. Maybe for 1.13+ we can make the cut to IE10.
Otherwise this still sounds promising. Once you've release the 1.0.0-beta1
we could give it a try.
from ally.js.
The browser support is a problem, since the next jQuery UI release still supports IE8. Maybe for 1.13+ we can make the cut to IE10.
Do you have a fuzzy date for 1.13 in mind?
If we limit the scope to focusable and tabbable, I assume there's not too much refactoring necessary (assuming jQueryUI requires ES5-shim already). It'll be the compatibility test that needs some love, I fear. Nothing that can't be done - it's just a matter of priorities.
Otherwise this still sounds promising. Once you've release the
1.0.0-beta1
we could give it a try.
I'll ping you here once it landed.
from ally.js.
No date, and no es5-shim 😥
from ally.js.
no es5-shim 😥
So we would have to compile this down to ES3? Oh boy…
With 1.13 considering IE10 as the lower end of the spectrum, ES5 is going to become the required base as well, I assume?
from ally.js.
Yes, when we drop IE 8 (whether we go to IE 9 or IE 10), we'll be able to use ES5 features.
from ally.js.
I said I'd ping you here when 1.0.0 was ready - and it is! all the docs are live at allyjs.io, the library is available on CDNs and npm (see getting started).
In #57 I've started collecting thoughts on how to expose ally in jQuery. The proposed jQuery plugin would also cover the utilities needed by jQuery UI.
I think we should start by creating that jQuery plugin first and then explore if and how we might be able to support older IEs.
from ally.js.
We can certainly try out the integration soon, but we can't land it until master is ready for 1.13 code.
from ally.js.
We can certainly try out the integration soon, but we can't land it until master is ready for 1.13 code.
Waiting for a later release is certainly your prerogative. That's part of the reason I started thinking about extracting the jQuery integration into a separate module (that could then be used by jQueryUI) to allow developers to upgrade earlier, if the can/want.
If @jzaefferer is in Cologne over the weekend, I'll try to fly by and try to get some questions on procedure sorted :)
from ally.js.
Here's a quick recap of what @jzaefferer and I talked about:
- jQuery UI 1.12 is currently in development and will retain compatibility with IE8 - ally.js is not going to be integrated.
- jQuery UI 1.13 will drop support for IE8 but retain IE9 support. ally.js needs to become IE9 compatible.
- Because 1.13 is a long way out we'll start with a separte jQuery-ally-binding plugin (that may be used by jQuery UI for preliminary tests). We decided to provide a plugin file that expected
jQuery
andally
being loaded separately. We're also interested in providing modules that would include ally code. - Apparently the warnings and errors produced by ally.js in Chrome (#68) pose a major problem to the jQuery UI userbase. We have not discussed ways to convince Chrome to "shut up"…
from ally.js.
Since Microsoft is dropping support for IE 8, 9 and 10 in January 2016 (pretty soon), we may adjust our browser support in jQuery UI accordingly (still need to discuss that with the team). You should not bother with IE9 for now.
from ally.js.
You should not bother with IE9 for now.
too late, #77 already landed. But I'll hold off on doing crazy things to support IE8. Thx for the update, tho!
from ally.js.
Oh well, that also works. Feel free to also ping me on PRs, especially if related to features we'd use in jQuery UI.
from ally.js.
Related Issues (20)
- ally.maintain.tabFocus breaks tab in Android + Chrome HOT 6
- Error setting up focusWithin HOT 1
- Wrong focus-source on Chrome on first Input element HOT 1
- Radio groups are not considered when maintaining tab focus
- ally.query.tabsequence possible string comparison of tabindex
- Improve visuallyhidden class further HOT 4
- Fix for Firefox accidentally triggering click after focus change on space HOT 8
- Allow Option to Pass Array of Elements to Maintain Components HOT 5
- Error on Import when Running CreateReactApp Test HOT 3
- Webpack bundle
- How to trap tab focus in element but allow tabbing to browser UI? HOT 4
- Current project status HOT 1
- Feature Request(?): Ability to run the browser support tests explicitly HOT 4
- Shadow DOM elements not identified correctly as contained by a parent element for maintain.disabled
- iOS 10.3 - 11.0 ally.maintain.tabFocus OSK (OnScreenKeyboard) shows and disappear for some milliseconds HOT 1
- Dialog content not focused when opened in Mac / VoiceOver
- Platform.js vulnerability issue HOT 1
- ally.maintain.tabFocus throws error when pressing Tab inside a dialog without focusable elements
- Cannot read property '0' of null in detect-focus
- Is this library dead?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ally.js.