- From: John Foliot <john.foliot@deque.com>
- Date: Sat, 29 Sep 2018 11:24:43 -0500
- To: public-personalization-tf <public-personalization-tf@w3.org>
- Cc: Harris Schneiderman <Harris.Schneiderman@deque.com>
- Message-ID: <CAKdCpxxeRFkA3_ogRDbKatdPD6gp+4D-J3Pb6WLbO9-tXfP5XQ@mail.gmail.com>
Greetings colleagues,
I have been discussing this problem-statement with a number of engineers
external to our group, and I have actually received some interesting
feedback, and (for what it's worth) some additional suggestions with regard
to notation.
My bigger take-away however is that more discussion and consultation from
external partners is required, and that perhaps we are rushing a bit too
quickly.
As a point of process, I am requesting that the chairs add to Monday's
agenda a discussion over the feasibility of getting a publishing extension
(60 - 90 days?). I fully appreciate that we have deadlines we need to meet,
but both personally, professionally, and formally on behalf of Deque
Systems, I think it is more important to get it right than to get
*something/anything* done against an artificial, self-imposed deadline.
*******************
Regarding notation pattern(s), as mentioned I have been discussing this
with engineers and implementers (and will continue to do so), however a few
additional notation patterns have been proposed:
1. *Class-style notation:* again, using CSS style notation, but instead,
using a "Cascading Attribute Sheet" (see this old blog post from Tab Atkins
of Google, and a key member of the CSS WG:
https://www.xanthir.com/blog/b4K_0). *NOTE: this method/idea does not
exist at this time*
The idea is that the declarations are made external to the actual
content as class values, and the 'assembly' happens at the user-agent
level. This is a common pattern already, for both CSS, but also for
JavaScript libraries such as jQuery, where all of the functionality is
achieved via class attributes.
.foobar {
field: "password";
moreinfo: url('PasswordFAQ.html');
symbol: url('images/helpicon.png');
importance: critical;
}
2. *Javascript object* (very similar to the above approach but just in
JavaScript instead) NOTE: This could be in JSON format as well (it'd look
almost identical to the below code sample)
{
'.foobar': {
field: "password";
moreinfo: url('PasswordFAQ.html');
symbol: url('images/helpicon.png');
importance: critical;
}
}
3. *dataset (data-* or data-aui-* attributes) *I was somewhat surprised
that a) we never thought of this, and b) virtually all of the engineers
I've spoken with to date have gravitated towards *this* solution.
Extremely similar to the multiple attributes proposal, the difference
being the addition of the data-* prefix. The feedback I have is that this
notation will integrate seamlessly with frameworks such as React and
Angular, and will be familiar to developers using these types of frameworks
already.
<div
data-aui-field="password"
data-aui-moreinfo="PasswordFAQ.html"
data-aui-symbol="images/helpicon.png"
data-aui-importance="critical"/>
I had one of Deque's engineers (thank-you Harris) look at and write up some
additional thoughts, including Pros and Cons for the two current
"front-runners", along with these 3 new suggestions.
That write-up can be found here:
https://gist.github.com/schne324/9eda7dbc99954e2d4e44a86515a87f97
<https://gist.github.com/schne324/9eda7dbc99954e2d4e44a86515a87f97>
JF
--
*John Foliot* | Principal Accessibility Strategist
Deque Systems - Accessibility for Good
deque.com
Received on Saturday, 29 September 2018 16:25:46 UTC