Re: ARIA APG - Vanilla JavaScript

+1 to vanilla JS, alongside other implementations.


In our IMS APIP Accessibility Task Force, we are developing best practices for implementation of core assessment items (think multiple-choice single/multiple selections, etc) and we are aiming for vanillaJS as one of the required reference implementations.  We have a specific requirement to ensure an equivalent user experience across AT and UA combinations, allowing freedom to some extent in how the vendor may choose to implement an item. The UI behavior and AT experience for an assessment item can't vary from vendor to vendor or platform to platform. Libraries are great developer aids, but we need to have clear, definitive, and interoperable baseline reference, which we think is essential in testing and identifying faults in either UA or AT.  Behavior of implementations can be tested against the baseline.


Mark



________________________________
From: chaals@yandex-team.ru <chaals@yandex-team.ru>
Sent: Thursday, March 26, 2015 6:15 PM
To: Cynthia Shelly; James Nurthen; public-pfwg@w3.org
Subject: Re: ARIA APG - Vanilla JavaScript

+1

Prefer vanilla javascript where we can get it for reasons advanced by Jason Cynthia and Léonia, except for the obvious case of showing how libraries do things (which is a useful thing to demonstrate). If people happen to use some library or other, that's not a priori a reason to ditch their work.

cheers

26.03.2015, 22:56, "Cynthia Shelly" <cyns@microsoft.com>:

That makes sense to me too.  I also wouldn’t want to make a requirement that examples use jquery or any other framework.  It would make my life a little easier if examples said what that were using in a way that I could filter on, or at least one that doesn’t require viewing source.  Then I’d know which ones can double as test cases.



From: James Nurthen [mailto:james.nurthen@oracle.com<mailto:james.nurthen@oracle.com>]
Sent: Thursday, March 26, 2015 2:27 PM
To: public-pfwg@w3.org<mailto:public-pfwg@w3.org>
Subject: Re: ARIA APG - Vanilla JavaScript



Personally I am fine with examples which use JQuery or vanilla JavaScript. IMO the biggest obstacle is finding people to write the examples so whichever form they are most comfortable with I think we should accept. If someone wants to later go in and change all the JQuery examples to vanilla JavaScript they are welcome to spend their time doing so.
I would be very much against insisting that examples are in vanilla JavaScript if that prevents someone from contributing an example.

Regards,
James

On 3/26/2015 2:20 PM, Cynthia Shelly wrote:

I use a lot of these examples as test cases, to make the browser better.  Using jquery makes them less useful for that, because it hides differences between browsers.  Because of this, I would prefer vanilla javascript examples, with descriptions of expected API and AT behavior.



From: Matthew King [mailto:mattking@us.ibm.com]
Sent: Thursday, March 26, 2015 5:48 AM
To: lwatson@paciellogroup.com<mailto:lwatson@paciellogroup.com>
Cc: 'Ian Pouncey'; 'WAI Protocols & Formats'
Subject: Re: ARIA APG - Vanilla JavaScript



Léonie, thank you for this well researched note. I agree that we should revisit this decision.

However, I want to clarify the prior taskforce decision. It was not that all examples would use jQuery but rather that utilizing jQuery in examples for the 2 main purposes you cited is acceptable.

I am very interested in hearing view points from people on this list who are not regular participants in the APG taskforce calls. And, to set the context for feedback, in the new APG, the examples take on much greater importance. The current APG TF is making the patterns and examples of those patterns the main feature or core of the APG. We believe that is how most members of the APG audience want to learn what the APG has to offer. So, the decision of whether or not to permit the use of JS libraries in the APG examples is very important.

Matt King
IBM Senior Technical Staff Member
I/T Chief Accessibility Strategist
IBM BT/CIO - Global Workforce and Web Process Enablement
Phone: (503) 578-2329, Tie line: 731-7398
mattking@us.ibm.com<mailto:mattking@us.ibm.com>



From:        Léonie Watson <lwatson@paciellogroup.com<mailto:lwatson@paciellogroup.com>>
To:        "'WAI Protocols & Formats'" <public-pfwg@w3.org<mailto:public-pfwg@w3.org>>,
Cc:        "'Ian Pouncey'" <ian@ipouncey.co.uk<mailto:ian@ipouncey.co.uk>>
Date:        03/26/2015 04:53 AM
Subject:        ARIA APG - Vanilla JavaScript

________________________________



Hello,

There has been some discussion about whether we should use jQuery or vanilla JavaScript for the APG 1.1 examples. On the TF call of 2nd February it was decided we should use jQuery, however neither of the draft examples we have so far use a JavaScript library at all.

This seems like a good opportunity to revisit the discussion. TLDR: I think there’s a good case to be made for using vanilla JavaScript and not a JavaScript library for the APG examples.

jQuery (and other JavaScript libraries) have two main purposes:

1.       Fix cross-browser JavaScript inconsistencies.
2.       Provide easy access to features that are complicated to write in JavaScript.

Since IE9 the number of cross-browser inconsistencies has reduced dramatically, and many features of jQuery are now features of JavaScript. For example, the following things are effectively equivalent:

// jQuery
var getThings = $('#id .class element');

and

// JavaScript
var getThings = document.getQuerySelectorAll('#id .class element');

More examples are available here:
http://youmightnotneedjquery.com/

The use of JavaScript libraries is in decline. jQuery remains the most popular library in use, but with each new version numbers are diminishing. Of the 50 million sites using jQuery, only 1.5 million use jQuery 1.9.x, and 250,000 use jQuery 2.x. jQuery 2.x is used on fewer sites than MooTools, Script.Aculo.us (last updated in 2010), Prototype, and YUI (no longer actively maintained) [2].

Several notable websites do not use jQuery (including Facebook, Wikipedia, YouTube and Yahoo!). Nearly 34% of websites use no large JavaScript library at all [3].

Example JavaScript (vanilla) can be used in any context (whether a framework is being used to build an application or not). This means examples written in JavaScript can be used by anyone.

Using vanilla JavaScript will also make it easier for people to learn the fundamentals of accessible widget functionality. It might be a little more verbose to read/write, but it isn’t abstracted into a library – and there is no requirement for anyone to learn a particular library in order to understand the examples either.

So in order to maximise usefulness, not place learning overheads on developers, and in light of the general trend towards no libraries, I think we should look again  at using vanilla JavaScript for the APG 1.1 examples.

Léonie.

[1] https://www.w3.org/2015/02/02-aria-apg-minutes.html
[2] http://trends.builtwith.com/javascript/javascript-library
[3] http://w3techs.com/technologies/history_overview/javascript_library/all


--
Léonie Watson Senior accessibility engineer, TPG
@LeonieWatson @PacielloGroup PacielloGroup.com





--
Regards, James

[Oracle]<http://www.oracle.com/>
James Nurthen | Principal Engineer, Accessibility
Phone: +1 650 506 6781<tel:+1%20650%20506%206781> | Mobile: +1 415 987 1918<tel:+1%20415%20987%201918> | Video: james.nurthen@oracle.com
Oracle Corporate Architecture
500 Oracle Parkway | Redwood Cty, CA 94065
[Green             Oracle]<http://www.oracle.com/commitment>Oracle is committed to developing practices and products that help protect the environment



--
Charles McCathie Nevile - web standards - CTO Office, Yandex
chaals@yandex-team.ru - - - Find more at http://yandex.com


________________________________

This e-mail and any files transmitted with it may contain privileged or confidential information. It is solely for use by the individual for whom it is intended, even if addressed incorrectly. If you received this e-mail in error, please notify the sender; do not disclose, copy, distribute, or take any action in reliance on the contents of this information; and delete it from your system. Any other use of this e-mail is prohibited.


Thank you for your compliance.

________________________________

Received on Thursday, 26 March 2015 23:50:28 UTC