Re: data-* attributes [was: Re: ISSUE-41/ACTION-97 decentralized-extensibility]

On Mon, Oct 19, 2009 at 2:59 PM, Tab Atkins Jr. <jackalmage@gmail.com> wrote:
> On Mon, Oct 19, 2009 at 2:23 PM, Shelley Powers <shelley.just@gmail.com> wrote:
>> On Mon, Oct 19, 2009 at 12:11 PM, Tab Atkins Jr. <jackalmage@gmail.com> wrote:
>>> On Mon, Oct 19, 2009 at 11:31 AM, Shelley Powers <shelley.just@gmail.com> wrote:
>>>> It is, but data-* does a poor job.
>>>>
>>>> SVGWeb can use a name, another JS library use the same name, and if a
>>>> person wants to use both JS libraries together, they're screwed.
>>>>
>>>> The fact that data-* had no ability to enforce a consistent name clash
>>>> prevention shows they're really not useful for decentralized
>>>> extensibility.
>>>
>>> I can't tell from searching around on the svgweb demos how it uses
>>> data-* attributes, but this really shouldn't be a problem in practice.
>>>
>>> If svgweb uses data-svgweb-* attributes, frex, then the chance of
>>> clashing with another library is basically nil.  Before starting any
>>> new library one should probably google for a bit to make sure that
>>> one's preferred name for the project isn't already being used.
>>>
>>> Before you can say that data-* is "really not useful for decentralized
>>> extensibility", you'd have to show how, even with this basic friendly
>>> practice of "self-namespacing", there were clashes in data-* attribute
>>> naming in practice with half-significant libraries.  Preferably, you'd
>>> show how this actually caused some authors some grief, such as through
>>> bug reports or forum posts complaining.
>>>
>>
>> Actually, with all due respect, I don't need to show anything. I
>> support the Microsoft initial effort, and believe that it is the
>> approach we should working with, and assisting Tony in solving any
>> problems with the approach.
>
> Sorry, I was using the generic "you", because it's clumsy to use "one"
> everywhere in modern english.  However, since you *did* try to assert
> that data-* attributes are "really not useful for decentralized
> extensibility" because they "[have] no ability to enforce a consistent
> name clash prevention", then yes, the burden of proof *is* on you.
> You're claiming that data-* suffers from a specific problem, so you
> need to show that it actually does.
>
> I can assert (with evidence) that this method of self-policed
> "namespacing" works reasonably well in practice in other realms (as I
> stated, jQuery's plugin architecture uses this method), so I think
> it's reasonable to believe that it should work equally well for
> data-*.
>
> Or you can withdraw the assertion?
>
> ~TJ
>

Of course I won't withdraw my opinion.

I don't believe that jQuery's use of the data-* attributes will
provide a solution for data that needs to be aggregated outside of the
page. It can't because that's a violation of the HTML5 specification
rules for data-*. However...

I'm sorry if you took offense at my suggestion for you to write up a
proposal for data-* for decentralized extensibility. I just felt that
we could be going around in circles indefinitely on this topic,
exchanging opinions, disagreeing with each other, without a concrete
proposal.

A concrete proposal would then give us focal points on which to have
further discussion. Like the beginning proposal that Tony provided.

Shelley

Received on Monday, 19 October 2009 20:21:09 UTC