Provide jQuery plugin, wrapping ally.js components
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.6k
- Forks
- 82
- PR merge metrics
- No merged PRs in 30d
Description
Considering how DOM centric ally.js is it makes sense to provide a wrapper to expose our components as jQuery functions.
This does not mean that ally.js will or should use jQuery internally, i.e. import jQuery as a dependency.
I've created this issue to discuss how a jquery.ally.js plugin could look like.
- The
ally.is.*methods would probably be exposed as Sizzle extensions as discussed in #41. We could overwrite:disabled, but should probably not mess with:visible. - Because of the Sizzle extensions,
ally.query.*is mostly covered.ally.query.firstTabbablemight either be also exposed as sizzle extension or simply put on$.fn - The
ally.element.*methods are probably best exposed via the internal extension points$.propHooksand$.attrHooksas explained by jQuery Hooks - jQuery Event Extensions might be the way to expose the
ally.event.*components - The
ally.get.*methods likely simply go on$.fn - I have no idea how the services (e.g.
ally.maintain.disabled) should be exposed
Plugin integrations should not be maintained in the ally.js repository. Each plugin should be its own project (as it will likely have to load a bunch of non-ally things for tests etc)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the proposed mappings for ally.is, ally.query, ally.element, ally.event, ally.get, and services against the linked Sizzle and jQuery extension documentation. No repository files or tests are named; done would be a separately maintained jQuery plugin project with an agreed integration design.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, jquery
- Domain
- accessibility, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100