- From: Charles McCathieNevile <chaals@opera.com>
- Date: Fri, 23 May 2008 16:02:57 +0200
- To: noah_mendelsohn@us.ibm.com
- Cc: "public-html@w3.org" <public-html@w3.org>, "public-xhtml2@w3.org" <public-xhtml2@w3.org>, "wai-xtech@w3.org" <wai-xtech@w3.org>, "www-tag@w3.org" <www-tag@w3.org>
On Fri, 23 May 2008 15:25:13 +0200, <noah_mendelsohn@us.ibm.com> wrote:
...
> Also, and again others are more expert in the nuances, I believe that one
> refers to elements and attributes being "not in a namespace" as opposed
> to being "in the null namespace". The reason, I believe, is that a
> namespace suggests a single managed "space" of names. Usually the
> assignment of names in a namespace is coordinated by a single party,
> typically the "owner" of the namespace name URI, or by several parties
> cooperating. Conversely, there are zillions of attributes and elements
> named "A" in XML documents of many different sorts. Collisions among
> those tags is in general not intentional or coordinated. In that sense
> there is no null namespace, just tags "not in a namespace".
Hmm. Making an explicit difference based on some concept of how these
things are intended to be used socially is not, IMHO, an entirely smart
move.
Although in general I agree that better managed namespaces than the one
whose canonical name is the empty string are desirable, the spec doesn't
make any claims about how other namespaces should be managed. It does make
it clear that there is a possible value for a namespace name which is the
empty string. I noted in my first mail in this thread that a good design
pattern for using this null namespaceis to provide some further kind of
disambiguation (one that doesn't clash with the mechanism used for
namespaces, of a prefix seperated by a colon) - and that if you don't need
to work with the HTML legacy you probably should use namespaces for all
attributes.
While
http://my.opera.com/chaals/files/ThisIsMineSoLeaveItAlone/namespaces/something#
is likely to be pretty much left to me to control, the namespace for
Dublin Core is one where real usage is far less managed than the theory.
dc:Author is actually a pretty common namespace-qualified term, despite
not having been described at all by anyone who could be said to "own" the
namespaces for Dublin Core.
> Also, to support self-description on the Web, you can put up a RDDL or
> similar document "at" the namespace name URI. This can enable some
> degree
> of automated processing of the markup (perhaps automated styling with an
> XSL stylesheet) even by user agents that have no built in "knowledge" of
> the namespace. This clearly can't be done for names not in a namespace.
> The ability to support such self-description is among the reasons, I
> believe, that some members of the TAG find qualified names to be highly
> desireable.
>
> My purpose here is not to weigh in on the net pros or cons of aria-xxxx.
Nor is mine. I contend that the local name of an attribute is entirely the
business of the people who mint the attribute - nobody complained about
svg using fill-xxxx and font-xxxx. I am interested only in the discussion
of how the aria attributes are assigned a namespace.
It turns out that there has been a misunderstanding in the PF group (and
reflected at least partially in the XHTML2 group, and possibly others)
which led the PF group to propose having two forms of the attribute - one
in a namespace they minted, and another, with aria- added as a prefix and
(to use your terminology) in no namespace - which means that the canonical
names of the second form woul begin with "aria-" and have the empty string
as their namespace qualifier.
The TAG proposed that instead the second form use "aria:" as a prefix, and
asked what this would affect. Funnily enough, it has a nasty impact on
namespace handling, since the colon is a reserved character that usually
triggers namespace handling.
I am therefore (re-)proposing that the attributes be defined in a single
form, with a set of local name that all begin with "aria-" (in an attempt
to avoid clashes with other attributes whose canonical namespace is the
empty string) and with the empty string as their namespace identifier, in
order to work the same in both HTML and XML languages without requiring
anyone to remember any special magic tricks for CSS, DOM scripting, or
anything else.
It turns out that this matches what I understand has actually been
implemented by at least 4 browsers, that it means there is a single form
for each aria attribute that works wherever you want to use it, allows for
naive copy-paste code development to work, and is entirely in line with
the XML namespaces spec and its various implementations.
> Having worked for several years at Lotus, a company that sold software
> for use by millions of end users, I'm very, very sympathetic to the
> pressures on companies like Opera that are well along in preparing to
> ship code.
If the standard and the implementations follow some route different to
what is implemented, we regard incompatibility as a bug and will change it.
> Here I'm merely to discuss some of the issues relating to
> tags that are vs. are not in namespaces.
And I am here because I believe that (probably because we explained it
badly) the PF group had not understood the proposal we had for ARIA to
work in different languages, and therefore set up a more complicated
version that caused people to react to its flaws, where it would have been
better if they had challenged its assumptions. It seems that the PF group
has now understood the original proposal as intended (what I laid out
above), and I hope that the TAG will take that version as the basis for
future discussion.
Note that I am not the chair of PF, so I cannot declare a consensus for
that group. I am reporting my personal understanding of the rough
consensus in that group. I believe that I am accurately representing the
understanding of the various implementors of ARIA in browsers, although
again I don't have any kind of formal mandate.
Cheers
Chaals
--
Charles McCathieNevile Opera Software, Standards Group
je parle français -- hablo español -- jeg lærer norsk
http://my.opera.com/chaals Try Opera 9.5: http://snapshot.opera.com
Received on Friday, 23 May 2008 14:14:56 UTC