Giter Club home page Giter Club logo

Comments (4)

rodneyrehm avatar rodneyrehm commented on June 1, 2024

Hey!

I'm the primary maintainer of a11y.js.

Is your thing part of IBM Watson or is the name coincidence?

I love what you're doing here, but curious why a separate project as opposed to working on one project?

It appears we started out at the same time (October 2014). My first commits to the (back then private) repository were in early October and that was already a couple of weeks after I started investigating sequential navigation (a.k.a. "focus handling"). When I started the thing, there was no project going in the direction I wanted, so I created my own.

I'm by no means an accessibility expert. I'm in the process of diving into this space.

ally.js is the result of pretty extensive browser tests (see the tests directory). In other words, I first test the environment, then implement what I need.

Development speed is hampered by this being a spare-time project, as opposed to full-time job. Additionally I take every other week to document my findings in preparation for an in-depth article about "focus" to have a basis for talks with browser vendors and specification authors. I've already begun filing issues and have quite a few more in the pipeline.

This is all about focus and sequential navigation at this point. I haven't begun working on WAI ARIA stuff - although I do have some rough ideas scribbled down locally. The general, high-level goals are outlined in the Readme. I wanted to explore this space and make it readily available to the broader masses, people who are not necessarily concerned with A11Y. I wanted to make this stuff "easy".

I did not plan on maintaining this project myself. As people are rather reluctant to join another project, my (probably rather naive) idea was to talk to the jQuery Foundation about taking things over, once the project reached "critical mass" (whatever that may be).

I'm not concerned with getting things done quickly or focus on performance or absolute efficiency. I don't care about Internet Explorer older than 10 at this point. I want things to be done properly and in a way that anyone could understand what is going on. Hence the rather expressive code and comments.

I wanted to start out with an AMD structure from which any functionality can be pulled into use when required - as opposed to the all-encompassing build that is is jQuery. I'm aware that this won't help the majority of people (as many still clone static files, rather than use a package manager and script loader). This is something I wanted to address "later" (actually I wanted @asciidisco to take care of that, but he seems to have a flourishing life outside of my open source projects… ;).

My goals are manifold:

  • work out what needs to be improved in browsers
  • work out what needs specification / clarification thereof
  • fix/work-around browser quirks where possible and necessary
  • provide a central project covering generic accessibility concerns for other projects to rely on
  • hand my work off to some sort of authority (e.g. jQuery Foundation) so it doesn't get neglected in the future
  • there are no and must be no financial and or personal gains at play

Why don't we combine forces and work together?

I welcome it, I don't see a need to "compete" on this. I've laid out where I come from and where I'm headed. I'd appreciate you doing the same - via mail, if you want it to remain private.

If your work belongs to IBM, how is this going to work? I see it's MIT (which is pretty much the only license I'd consider for a project like this), but don't you Americans have some other weird copy right and legal system? (Sorry, I'm German, I don't know if this is going to be a problem…)

As things stand right now, ally and a11y cover different topics. From a code volume and feature perspective my ally seems to be far ahead. From a project management perspective your a11y is light years ahead.

I haven't yet put much thought into how I'd want to handle ARIA attributes in the future. So far I've only mapped the attribute values (much like your aria-states.yml) and use that to feed jQuery's attribute hooks and some custom attribute toggle functions (located in my apps, not yet moved to ally.js).


My personal roadmap for the upcoming weeks roughly looks like this:

  1. file the remaining browser bugs
  2. finish writing the article about focus (in all its facets)
  3. get to milestone 0.1.0 (i.e. necessary project management for a proper release)
  4. dive into keyboard interaction laid out by WAI ARIA Practices

in other words: I'm not in a hurry :D

from ally.js.

Snugug avatar Snugug commented on June 1, 2024

I am the UI Architect from IBM Watson, so not a coincidence. We wrote and open-sourced a11y.js not with the goal of providing a way of working (initially) with states in an accessible way in order to allow us to develop components for a pattern library we are working on.

My work does belong to IBM, but it is 100% an open-source project with no goal of financial or personal gain. Our legal system is weird, no doubt, but it is free and open source software so if we would work together, it'd be just like working with anyone else on a project with the exception that the "other" person happens to be a giant tech company (although in reality, you'd be working specifically with me).

I think in terms of structure of the project, we both want very similar things; we want to be library independent and be a library in itself to assist with accessibility that other things can build on or directly use. I believe that we both started rom different ends but both can live in the same project. a11y.js is designed to have sub-modules and I always intended on expanding it once the next need in our work presented itself; having focus, navigation, and polyfills are perfectly reasonable sub-modules to have as well as states.

I think the one architectural place where we differ is I'm not wedded to requiring an AMD structure for the project; I'm much more interested in providing a single library that can present itself in various ways, be it AMD loading, ES6 Modules, or being used straight from a window object. I think that's something we can overcome though.

If you'd like to move this to email, shoot me one at the address I tweeted at you.

from ally.js.

rodneyrehm avatar rodneyrehm commented on June 1, 2024

To get the big question out of the way: do you me to join your project, or are you ok with joining mine? For some reason I'd prefer to stay out of any corporation's way. (I would not need to have the project hosted at medialize or call it ally.js or a11y.js)

I am the UI Architect from IBM Watson, so not a coincidence.

For context, I work on the setup and configuration UI of Qivicon, the Smart Home platform of Deutsche Telekom. While this project is used in Telekom's software, ally is my own thing, Detsche Telekom has no rights to anything.

I think the one architectural place where we differ is I'm not wedded to requiring an AMD structure for the project; I'm much more interested in providing a single library that can present itself in various ways, be it AMD loading, ES6 Modules, or being used straight from a window object. I think that's something we can overcome though.

I want the internals to be AMD and I want people to be able to use that structure if they want to. A build step would resolve the dependencies and build a single distributable file (or multiple, if we want to split things into extensions). This is the way jQuery is now setup and the structure I've been aiming for for a long time now (with URI.js, long before ally was born). That build step would wrap things in UMD, making it accessible to most environments. Really I don't care if it is AMD, CJS or ES6 internally. I just started with AMD because it's what we use at work and I'm most familiar with in the frontend space… I don't think we differ too much on the architecture regarding the end goal, do we?

If you'd like to move this to email, shoot me one at the address I tweeted at you.

I've got nothing to hide. If we discuss this publicly others can join the discussion, or read up later… no?

from ally.js.

rodneyrehm avatar rodneyrehm commented on June 1, 2024

I'm closing this issue because it's become obsolete. @Snugug and I talked privately and decided to discuss possible next steps once he's got the time to do so (which I am looking forward to!).

from ally.js.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.