Re: Making all elements and attributes that contain hyphens valid

Charles McCathie Nevile <chaals@yandex-team.ru>, 2013-10-16 01:39 +0200:

> We're looking at adding an attribute to link (to make Opensearch work a bit
> more flexibly).

I guess there's some reason you can't just use the rel attribute -- like,
you want to put this additional attribute on link elements which already
have some rel value that other applications are consuming some way?

It'd be useful to know what this attribute specifies, and what other
applications are expected to do anything with it. I don't know enough about
Opensearch to understand whether you can have attributes that affect the
behavior of Opensearch itself, or whether the idea would be more like, some
attribute you have would more likely be targeted to affect other
applications that consume Opensearch data.

> data-* seems wrong since it's required to be "private", although maybe
> that should change somehow.

Part of the whole point of data-* is that it's understood to be private --
in that if you look at the source of a Web document and you find a data-*
attribute, you know it's not meant to mean anything anywhere except to the
JavaScript code that accompanies the document. And that whatever name it
does have it just arbitrary and could change if maintainers of the document
and the code decide they like some other name better.

Making data-* into something for non-private use would amount to making it
something other than data-*.

> Namespaces got nixed.
> 
> We expect to get a reasonable amount of usage, so we are quite open to
> writing an HTML extension spec, but what should we do if we are going to
> work with a new attribute and it doesn't get accepted.

Seems like that depends on what it would mean for it to get accepted.  And
that would seem to get back to, what applications are meant to consume the
information in the attribute and actually do anything with it.

> In particular, I am not that keen on using a vendor prefix like
> yandex-foo ...

Anyway, I thought the intent of Robin's proposal for making hyphen-
containing attributes valid was the use case of Web-Components Custom
Elements[*] -- not for enabling everybody to mint their own non-standard
metadata hooks (which is what your use case sounds like). For the metadata
case we already have the link@rel and meta@name extension points -- as well
as all of Microdata and RDFa.

  --Mike

[*] Thinking about it, with Robin's proposal there'd be nothing to prevent
everybody from taking the "huge anything-goes hole in all of HTML" that
it'd create, and using it for whatever they want. Once it existed, I'm sure
there'd be a lot of people using it just because it's there. I can imagine
us ending up with a lot of pages out there with hyphen-containing element
and attribute names that aren't really meant to be private in the way that
data-* attributes are but yet aren't properly documented anywhere and
aren't actually Web-components custom elements (which are at least bound in
a standard way to something observable). That would not be pretty.

-- 
Michael[tm] Smith http://people.w3.org/mike

Received on Wednesday, 16 October 2013 03:56:40 UTC